python3面向对象——继承
继承
继承是面向对象的重要特性之一,是相对两个类而言的父子关系,子类继承了父类的所有的属性和方法,继承最大的好处是实现了代码的重用,可以重用已经存在的数据和行为,减少代码的重复编写。
1 class A: 2 pass 3 4 class B(object): 5 pass
在Python 3中,都为新式类,所以A和A(object)是两个结果相同的不同写法。
1 class Cat(object): 2 def __init__(self,name,color): 3 self.name = name 4 self.color = color 5 def run(self): 6 print("%s----在跑" % self.name) 7 8 #定义一个子类,继承Cat类 9 class Bosi(Cat): 10 def eat(self): 11 print("%s---在吃" % self.name) 12 13 b = Bosi("波斯猫","蓝色") 14 print(b.name,b.color)
构造方法继承
1 class Cat(object): 2 def __init__(self,name,color): 3 self.name = name 4 self.color = color 5 def run(self): 6 print("%s----会跑" % self.name) 7 8 #定义一个子类,继承Cat类 9 class Bosi(Cat): 10 def __init__(self,name,color,age): 11 super(Bosi,self).__init__(name,color) 12 self.age = age 13 def eat(self): 14 print("%s---会吃" % self.name) 15 16 b = Bosi("波斯猫","蓝色","2岁") 17 print(b.name,b.color,b.age) 18 b.run() 19 b.eat()