python继承多重继承
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python继承多重继承相关的知识,希望对你有一定的参考价值。
1)继承
基类 class BaseClass: def __init__(self,name,age): self.name = name self.age = age print "baseclass is inited" def speak(self,name): print "base class is speak:%s" %name if __name__ == "__main__": b = BaseClass()
派生类 import BaseModel class SubClass(BaseModel.BaseClass): def __init__(self,name,age,salary): BaseModel.BaseClass.__init__(self,name,age) 调用基类的函数,需要加上类名 self.salary = salary print "SubClass is inited and salary is:%s" %self.salary def talk(self,sth): print "%s talking %s" %(self,name,sth) BaseModel.BaseClass.speak(self,sth) if __name__ == "__main__": s = SubClass(‘John‘,1,800) s.talk("a story")
上述例子,在派生类里面重新定义了__init__方法;要是没有定义的话,默认调用基类里面的构造方法.
2)多重继承
多重继承算法 class D(object): def foo(self): print "class D" class B(D): pass class C(D): def foo(self): print "class C" class A(B, C): pass f = A() f.foo() 新式类的结果为class C(A--B--C-D-object);老式类结果为class D(A-B-D-C--object);
本文出自 “孔小发爱吃鱼” 博客,谢绝转载!
以上是关于python继承多重继承的主要内容,如果未能解决你的问题,请参考以下文章