#基类
class F:
def f1(self):
pass
#派生类
class S(F):
def f2(self):
pass
obj = s()
obj.f2()
obj.f1()
Python 支持多继承,多继承的类里面有相同的方法前面的优先
vim day7-4.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
class D():
def bar(self):
print 'D.bar'
class C(D):
def bar(self):
print 'C.bar'
class B(D):
pass
class A(B,C):
pass
a = A()
a.bar()
输出为D.bar
改成新式类
#!/usr/bin/python
# -*- coding:utf-8 -*-
class D(object):
def bar(self):
print 'D.bar'
class C(D):
def bar(self):
print 'C.bar'
class B(D):
pass
class A(B,C):
pass
a = A()
a.bar()
输出为C.bar
经典类是深度优先,新式类深度优先
多继承在写代码中用的比较少,但是还是有人会用,笔试中也可能会出现.
PS:只有C,B均继承D才能广度优先,假如C没有继承D则还是使用D里面的bar方法
判断一个类是否新式类看它是否继承了object