1. 多态
关于多态,多态就是上面两种方式的结合,通过多态我们可以写出各种各样的程序。
看下图:
多态即一个方法在父类和子类中存在着不同种用法,可以分别调用。
看下面的例子:
class Base: def __init__(self,name): self.name =name print('%s会读书'%self.name) def reading(self): print('%s在读语文书'%self.name) class Inherit_One(Base): def reading(self): print('%s在读英语书'%self.name) class Inherit_Two(Base): def reading(self): print('%s在看漫画书'%self.name) a = Base('a') a.reading() b = Inherit_One('b') b.reading() c = Inherit_Two('c') c.reading()
输出结果为:
a会读书 a在读语文书 b会读书 b在读英语书 c会读书 c在看漫画书
可以看出每个继承者都重写了reading方法,然后我们在调用这个方法的时候通过不同的类去调用,这种方式可以帮助我们在不同类中定义相同名字的不同方法,看似混乱,但是在我们现实中的各种管理系统当中往往都是离不开多态的使用。
通过这几节的学习,想必大家都认识到了继承和重写的方法,关于多态则需要大家在实际问题中去多多练习掌握,面向对象听起来比较抽象,但掌握起来并不太难。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程