继承是面向对象的重要特征之一,继承是两个类或者多个类之间的父子关系,子进程继承了父进程的所有公有实例变量和方法。继承实现了代码的重用。重用已经存在的数据和行为,减少代码的重新编写,python在类名后用一对圆括号表示继承关系, 括号中的类表示父类,如果父类定义了__init__方法,则子类必须显示地调用父类的__init__方法,如果子类需要扩展父类的行为,可以添加__init__方法的参数。
下面演示继承的实现
class Fruit: def __init__(self, color): self.color = color print "fruit's color: %s" %self.color def grow(self): print "grow..." class Apple(Fruit): #继承了父类 def __init__(self, color): #显示调用父类的__init__方法 Fruit.__init__(self, color) print "apple's color: %s" % self.color class Banana(Fruit): #继承了父类 def __init__(self, color): #显示调用父类的__init__方法 Fruit.__init__(self, color) print "banana's color:%s" %s self.color def grow(self): #覆盖了父类的grow方法 print "banana grow..." if __name__ == "__main__": apple = Apple("red") apple.grow() banana = Banana("yellow") banana.grow()
输出结果:
fruit‘s color : red
apple's color : red
grow...
fruit's color : yellow
banana's color : yellow
banana grow...