派生类的定义如下所示:
classDerivedClassName(BaseClassName):
命名BaseClassName(示例中的基类名)必须与派生类定义在一个作用域内。除了类,还可以用表达式,基类定义在另一个模块中时这一点非常有用:
classDerivedClassName(modname.BaseClassName):
派生类的实例化没有什么特殊之处:DerivedClassName()(示列中的派生类)创建一个新的类实例。方法引用按如下规则解析:搜索对应的类属性,必要时沿基类链逐级搜索,如果找到了函数对象这个方法引用就是合法的。派生类可能会覆盖其基类的方法。因为方法调用同一个对象中的其它方法时没有特权,基类的方法调用同一个基类的方法时,可能实际上最终调用了派生类中的覆盖方法。派生类中的覆盖方法可能是想要扩充而不是简单的替代基类中的重名方法。有一个简单的方法可以直接调用基类方法,只要调用:BaseClassName.methodname(self,arguments)。
Python有两个用于继承的函数:
函数isinstance()用于检查实例类型:isinstance(obj,int)只有在obj.__class__是int或其它从int继承的类型
函数issubclass()用于检查类继承:issubclass(bool,int)为True,因为bool是int的子类。但是,issubclass(unicode,str)是False,因为unicode不是str的子类(它们只是共享一个通用祖先类basestring)。
以上内容为大家介绍了python的继承,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。