第120课时: 类: 组合
组合:
“is” 关系 ,我们使用“继承”,实现子类拥有父类的所有方法属性,比如 dog is animal。
“has” 关系 , 我们使用“组合” 比如 phone has cpu
组合和继承都可以起到代码复用的作用。
继承:
class animal:
def say(self):
print('动物')
class dog(animal):
pass
a=dog()
a.say()
动物
可以看到,dog类继承了animal类的 方法 say。
组合:
class cpu:
def say(self):
print('手机')
class phone:
def __init__(self,a):
self.a = a
b1 = cpu()
b2 = phone(b1)
b2.a.say()
手机
可以看到 b2可以调用b1的 代码。 Phone内包含有cpu这个模块
例子:
class phone:
def __init__(self,cpu,screen):
self.cpu = cpu
self.screen=screen
class cpu:
def jisuan(self):
print('开机计算')
class screen:
def show(self):
print('屏幕点亮')
print('cpu 对象',self)
c1 = cpu()
s1 = screen()
m1 = phone(c1, s1)
可以看到 phone包含有 screen和cpu模块。