关于继承、重写和多态这三种类型,我们在日常使用过程中使用最多的是继承,当我们需要很多类似的子类的时候,如果我们一一定义会浪费我们很多的空间和时间,在这个时候我们只要定义一个父类,也就是定义一个模板,然后全部继承父类的属性和行为即可,工厂在批量生产某个机械配件的时候,并不是每生产一个都需要画一个图纸,而是根据一个图纸进行批量生产,我们在程序里使用继承的时候也是采用的这种思想,但是当我们想要对某个继承来的配件进行一定更改的时候,我们可以采用重写的方法,而多态则是综合了继承和重写,下面我们依次进行学习。
1. 继承
所谓继承,就是子继承父。
根据例题我们来学习一下继承。
class Base:#定义一个名为Base的父类 def __init__(self,name,age,id): self.name = name self.age = age self.id = id print('继承了Base这个类') print('我的名字:',self.name) print('我的年龄:',self.age) print('我的学号:',self.id) def goto_school(self): print(self.name,'正在使用Base类中的goto_school方法去上学') class Student(Base):#继承父类的时候会继承父类中的所有方法 pass xiaoming = Student('小明',20,1001) xiaoming.goto_school()
输出结果为:
继承了Base这个类 我的名字: 小明 我的年龄: 20 我的学号: 1001 小明 正在使用Base类中的goto_school方法去上学
我们来分析一下这个例子,首先我们在上面定义了一个名为Base的类,这个类为我们提供了一个构造方法,包含了姓名,名字和学号,然后还提供了一个goto_school()的方法,然后我们又在下面定义一个名为Student的类,这个类继承了上面的Base类,然后我们直接调用Student类,通过输出结果我们可以看出即使Student类中什么都没有,仍然可以执行出一系列操作,这些行为和属性都是由Base中继承而来的,然后最后一行我们还调用了Base中的方法,仍然是可以调用成功的。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程