欢迎光临散文网 会员登陆 & 注册

Python类的继承

2021-06-29 22:33 作者:GXTon_阿通  | 我要投稿

关于面向对象,一定要说到类这一结构.

这一节主要介绍Python类的继承.

 


比如下面的代码,一个是父类Father,

另一个是子类Son.

其中子类Son继承了父类Father.并且没有经过修改.

所以说子类和父类基本上就是一个类.


运行结果如下

从中可以看出,子类完全继承了父类的所有特性,

包括构造函数中输出”成年人”,还有父类里面的起床时间7:00.

 

但是我们经常不会这样用,

因为我们之所以构造子类,就是为了在父类的基础上做修改,产生一个区别于父类的类型.

比如:

1 我们可以在子类中添加新的方法.让他拥有更多的功能.

2 可以重写构造函数,因为父类自带的构造函数并不一定适用于子类,比如上面的例子,父类都是”成年人”,但是子类就不一定是成年人了,这里就需要,进行重写.

3 可以重写父类中其他的方法,比如父类中weekend这个方法,就是周末,父亲”加班”,这可能会不适合子类,可以修改成子类”放假”.

4 我们想要在父类的构造函数中添加一些东西,不完全改变它,比如”成年人”,然后在这个基础上,添加”没有长胡子”,就可以用super关键词.在原来的构造函数基础上,添加新的东西.

 


下面开始一一演示:

1 在子类中添加新的方法,

输出:

2 重写构造函数:

输出:

可以看到,重写了构造函数后,运行子类,就不会再调用父类的构造函数了.

如果不重写,就会自动调用父类的构造函数.

3 改写父类的某些方法,

比如父类的周末weekend是加班,但是子类根据实际情况不是”加班”而是”休假”

所以进行修改:

运行:

4 进行构造函数的继承,

上面的原父类,构造函数会输出”成年人”,

如果创建子类,就会直接调用父类的构造函数,从而输出”成年人”,

这显然是不标准的,因为有些儿子son是”成年人”,有些是”未成年人”.

所以子类需要对父类的构造函数进行补充.这里会用到super关键字.

运行:


Python类的继承的评论 (共 条)

分享到微博请遵守国家法律