1、多继承
Python中的多继承跟java中的多继承不一样。Python中多继承可以继承多个基类。个人看法:Java多继承类似传统的繁殖模式(单个基类),Python符合现代的繁殖模式(基因工程,存在多个基类)。
示例:
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
class A:
def test(self):
print('-----AAAAAA')
class B:
def test1(self):
print('-------BBBBBB')
class C(A,B):
def test2(self):
print('-------CCCCCC')
c = C()
c.test()
c.test1()
c.test2()
注: python中不允许方法同名,没有重载。
2、多继承中类的搜索顺序
在python2中,如果明确写了继承object,那么这个类就是新式类;如果没有写,那么就是旧式类(经典类)。
在python3中,不管写没写object,这个类都是新式类。
- 经典类: 从左至右,深度优先遍历。
- 新式类:广度优先遍历。
可参考:python 之 多继承的顺序
3、多态
Python中不支持重载,所以在python中没有严格的多态!多态的理解具体可以参考: Python中的多态如何理解?