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方法,然后我们在调用这个方法的时候通过不同的类去调用,这种方式可以帮助我们在不同类中定义相同名字的不同方法,看似混乱,但是在我们现实中的各种管理系统当中往往都是离不开多态的使用。

通过这几节的学习,想必大家都认识到了继承和重写的方法,关于多态则需要大家在实际问题中去多多练习掌握,面向对象听起来比较抽象,但掌握起来并不太难。


点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)