1.类的继承和定制是什么?
继承
我们也可以用一句话,让计算机知道:A类属于B类,自然也拥有了B类的所有属性和方法。这句话在编程里就是:A类继承了B类。
在Python中,我们的习惯表述是:A类是B类的子类,而B类是A类的父类(或超类)。
定制
子类也可以在继承的基础上进行个性化的定制,包括:(1)创建新属性、新方法;(2)修改继承到的属性或方法。
简而言之:类的定制,不仅可以让子类拥有新的功能,还能让它有权修改继承到的代码——在写这句话时,我仿佛看到子类化成了一个人,抬头瞟了一眼在他上方的父类,淡淡地说了一句话:以我为主,为我所用。
所以,当我们谈定制时,已经包含了继承。毕竟,类的定制的前提是继承,而定制的加入让类的继承不仅仅只是单纯的复制而已。这也是我们创建子类的意义,也可以回答上面提到的那个问题——为什么我们不直接用父类而创建子类?因为……可以定制啊!
2.类的继承
继承的基础语法
用代码表示继承,语句是:
子类继承的属性和方法,也会传递给子类创建的实例
跑个代码感受一下:
代码如下(示例1):
class Chinese:
name = '晓寒' # 类属性name
def say(self): # 带有两个参数的方法
print('是中国人!')
class person(Chinese):
# 通过继承,Chinese类有的,person类也有
pass # pass表示'跳过',不执行其他操作
# 验证子类可以继承父类的属性和方法,进而传递给子类创建的实例
xiaohan = person()
# 子类创建的实例,从子类那间接得到了父类的所有属性和方法
print(xiaohan.name)
# 子类创建的实例,可调用父类的属性
xiaohan.say()
# 子类创建的实例,可调用父类的属性
结果运行如下:
晓寒
是中国人!
代码如下(示例2):
class Cat:
tail = True
def