首先什么是继承?
答: 继承在字典里的解释是: 继承人依法无偿获得被继承人的所有资产(即房子, 车子和票子等等).
那么类的继承是什么?
答: 继承类依据语法获得被继承类指定的属性和方法(即变量和函数).
举个例子, 请看下图:
图中人科, 犬科两个类都是从动物这个基础类衍生出来的, 从而它俩都继承了动物的属性和方法(即速度和体重, 跑步与进食).
因此动物类与它俩形成了一个父与子的类关系.
而人科这个子类扩展了一个方法: 说话
且犬科这个子类扩展了一个属性: 利爪
这就是创建子类的目的: 在父类的基础上扩展其属性或方法.
从而由此子类创建出来的实例, 不但拥有了父类共同的属性和方法, 而且还拥有了其子类独有的属性和方法.
下面是代码的实践部分
class 动物:
速度 = 0
体重 = 50
def 跑步(self, speed):
self.速度 = speed
print('速度:', self.速度)
def 进食(self, KG):
self.体重 = self.体重 + KG
print('体重:', self.体重)
class 人科(动物):
def 说话(self, content):
print(content)
class 犬类(动物):
利爪 = 4
唐僧 = 人科()
唐僧.跑步(10)
唐僧.进食(1)
唐僧.说话("南无阿弥陀佛")
哮天犬 = 犬类()
哮天犬.跑步(20)
哮天犬.进食(2)
print(哮天犬.利爪)
首先是新建 动物 这个基类
然后再新建 人科 和 犬科 这两个类
在新建类名的后面加上一对括号并写入父类的类名, 这样就完成了继承的语法
若有属性和方法的扩展就直接写在子类的类体即可.
最后一段代码创建了唐僧和哮天犬两个实例.
分别调用它们继承过来的父类方法,
且其中调用了唐僧的扩展方法: 说话
和输出哮天犬的扩展属性: 利爪