多个类被设计完成时,一般都会有类与类之间的相互关系;类之间存在继承,组合依赖等关系;
继承是面向对象的重要特性之一;
继承关系;继承是相对两个类而言的父子关系,
子类继承了父类的所有公有属性和方法
继承实现了代码重用
格式
class MyClass(ParentClass)
注意:
如果父类定义了__init__方法,子类必须显式调用父类的__init__方法('BaseClass.__init__(self,[args....])').
如果子类需要扩展父类的行为,可以添加__init__方法的参数.。
给的例子:
class Ren():
name='人类'
def say(self):
print '会说话'
class Chinese():
name='中国人'
def say(self):
print '会说话'
发现重复,则用继承
class Chinese(Ren):
pass
milo=Ren()
print mile.name
milo.say()
print '*'*50
zhangsan=Chinese()
print zhangsan.name
zhangsan.say()
子类可以覆盖父类的属性
例如class Chinese(Ren):
name='中国人'
def say(self)
print '会说中国话
如果继承多个类的属性,并且属性有冲突的话按顺序继承,如果不想修改的话可以重写