Python基础总结(九)(继承和多态)
程序员文章站
2022-06-15 13:37:46
...
这里主要列出Python中有关继承和多态的略微特殊的知识点,常见更多继承多态问题
Python允许多重继承,使用下面的语法:
class Subclass(SuperClass1, SuperClass2,...):
initializer
methods
私有方法:
Python中通过在一个方法名前加两条下划线定义一个私有方法,私有方法不能被覆盖。即使在子类中有和父类中相同的方法名,这两个方法也是完全不相关的。
object类:
Python中的所有类都派生自object类,这个类中的所有方法都有前后两个下划线。这里介绍如下四个方法:
__new__()
:当创建一个类的时候被自动调用
__init__()
:在__new__()
随后被调用来初始化类中定义的数据域(一般子类中只应该覆盖__init()__
方法初始化数据)。
__str__()
:默认情况下它会返回一个由该对象所属的类名以及该对象十六进制形式的内存地址的字符串,一般会在子类中重写这个方法返回一些更有用的内容。
__eq__(other)
:比较两个对象内容是否有相同,相同返回true
isinstance()
isinstance(object, ClassName) #判断object是否是ClassName的一个实例,如果是返回true
issubclass()
issubclass(C, B) #判断类C是否是继承自类B的,如果是返回true