组合
在一个类中实例化另一个类的对象,并在该类的方法中使用另一个类的对象。
class A:
def __init__(self):
self.b = B()
def call_b_method(self):
self.b.method()
引用
在类中引用另一个类的对象,并调用其属性和方法。
class Mem:
def __init__(self):
self.car = None
def set_car(self, car):
self.car = car
def use_car(self):
return self.car
双向绑定
在两个类中相互引用对方的对象,实现双向关联。
class Person:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
self.partner = None
def do_private_stuff(self):
pass
p1 = Person('wdc', 22, '男')
p2 = Person('yhf', 23, '女')
p1.partner = p2
p2.partner = p1
print(p1.partner.name, p2.partner.name)
依赖关系
一个类的方法或属性使用另一个类的对象。
class Car:
def __init__(self, brand, speed):
self.brand = brand
self.speed = speed
def get_time(self, road):
road可以是个对象,road和r指向同一地址
ran_time = random.randint(1, 10)
return f'{self.brand}品牌的车在{road.name}上以{self.speed}速度行驶{ran_time}小时'
class Road:
def __init__(self, name, length):
self.name = name
self.length = length
R = Road('京藏高速', 120)
print(Car('audi', 100).get_time(R))
以上是Python中类关联的一些基本方法。您可以根据具体需求选择合适的关联方式。