一个类的对象作为另一个类的对象的属性,称为类的组合。
即 class1.instance1.property = class2.instance
组合也是代码重用的重要方式之一。
先定义三个类:人、汽车、手机
1 class Person: 2 def __init__(self,name,sex,age,position): 3 self.name = name 4 self.sex = sex 5 self.age = age 6 self.position = position 7 class Car: 8 def __init__(self,brand,price,color): 9 self.brand = brand 10 self.price = price 11 self.color = color 12 class Phone: 13 def __init__(self,brand): 14 self.brand = brand 15 def call_up(self): 16 print("I'm calling you...")定义类
对于这三个类来说,各自独立又有联系,人可以拥有手机,人也可以拥有一辆汽车。
用代码来表现之间的联系
1 jack = Person('jack','male',35,'Manager') #实例化一个人 2 jack.car= Car(brand = 'Cadillac',price = 200000,color = 'Red') #给人新增一个车的属性,即人可以拥有一辆车,并实例化一辆车,再赋值给属性 3 jack.phone = Phone('SamSung') #原理同上把对象赋值给属性
属性与方法的调用
1 print(jack.car.brand) #注意属性之间的调用写法顺序 2 print(jack.car.color) 3 print(jack.car.price) 4 print(jack.phone.brand) 5 6 jack.phone.call_up() #调用方法 7 8 9 Cadillac 10 Red 11 200000 12 SamSung 13 I'm calling you...属性与方法的调用