Python对象组合

一个类的对象作为另一个类的对象的属性,称为类的组合。

即 class1.instance1.property = class2.instance

组合也是代码重用的重要方式之一。

 

先定义三个类:人、汽车、手机

Python对象组合
 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...")
定义类

 对于这三个类来说,各自独立又有联系,人可以拥有手机,人也可以拥有一辆汽车。

用代码来表现之间的联系

Python对象组合
1 jack = Person('jack','male',35,'Manager')   #实例化一个人
2 jack.car= Car(brand = 'Cadillac',price = 200000,color = 'Red')  #给人新增一个车的属性,即人可以拥有一辆车,并实例化一辆车,再赋值给属性
3 jack.phone = Phone('SamSung')   #原理同上
把对象赋值给属性

 属性与方法的调用

Python对象组合
 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...
属性与方法的调用

 

上一篇:python入门(10)


下一篇:JAVA 反射机制