13.9 组合
有两种方法可以在你的代码中利用类。第一种是组合(composition)。就是让不同的类混合并加入到其他类中,来增加功能和代码重用性。另一种方法是通过派生。
>>> class C1(object):
... def __init__(self):
... self.att1 = 1
...
>>> class C2(object):
... def __init__(self):
... self.att2 = 2
...
>>> class C(object):
... def __init__(self):
... self.C1= C1()
... self.C2= C2()
...
>>> C().C1.att1
1
>>>
13.10 子类和派生
OOP的最强大功能之一是能够使用一个已经定义好的类,扩展它或者对其进行修改,而不是影响系统中现存类的其他代码片段。OOD允许类特征在子孙类或子类中进行继承。这些子类从基类继承它们的核心属性。而且,这些派生可能会扩展到多代。在一个层次的派生关系中的相关类是父类和子类关系。从同一个父类派生出来的这些类是同胞关系。父类和所有高层类都被认为是祖先。
>>> class C1(object):
... def __init__(self):
... self.att1 = 1
...
>>> class C(C1):
... att2 = 2
...
>>> C().att2
2
>>> C().att1
1
>>>