继承与组合
继承是面向对象编程的基础之一,Python也不例外。Python支持从多继承,也就是一个派生类可以继承多个基类的内容。派生类的定义格式为:
class 派生类(基类1, 基类2, ...):
pass
派生类可以重载基类的方法,重载只需要保持函数签名一致即可。派生类可以重载任何一级基类的方法。派生类可以使用super()
调用基类的方法。具体使用方法可参考以下示例:
def Base:
def __init__(self):
pass
def hello(self):
pass
def Child(Base):
def __init__(self):
super().__init__()
def greeting():
super().hello()
对于类的继承关系来说,可以使用isinstance()
函数来判断一个实例的类型,如果对子类的实例去判断其是否是基类的实例,会得到True
的结果。
继承就像是把一个原材料加工成成品或者零件,而组合则是将零件组装成更加强大的产品的过程。换句话说,继承是is的识别关系,而组合则是has的包含关系。
使用组合十分容易,只需要将其他的类实例作为组合类的字段或者属性即可。