#基类
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