什么是Python多态?python中什么是类的多态?

这篇内容当中将会给大家带来有关什么是Python多态?python中什么是类的多态?文章内容丰富为大家进行分析和叙述,阅读完这篇文章之后希望大家可以有所收获 。

什么是Python多态?python中什么是类的多态?


对于弱类型的语言来说,变量并没有声明类型,因此同一个变量完全可以在不同的时间引用不同的对象 。当同一个变量在调用同一个方法时,完全可能呈现出多种行为所呈现的行为都由该变量的对象决定,这就是所谓的多态 。
先看下面程序:
class yun:    def move(self, field):        print('%s在天上飘飘' % field)class xaiocao:    def move(self, field):        print(' %s在地上生长' % field)# x变量被赋值为yun对象
x = yun ()# 调用x变量的move()方法
x.move('云')# x变量被赋值为xiaocao对象
x = xiaocao()# 调用x变量的move()方法
x.move('小草')上面程序中 x 变量开始被赋值为 yun对象,因此当 x 变量执行 move() 方法时,它会表现出云在天上飘行为 。接下来 x 变量被赋值为 xaiocao对象,因此当 x 变量执行 move() 方法时,它会表现出小草生长的行为 。
运行上面程序,可以看到如下运行结果:
云在天上飘飘
小草在地上生长
从上面的运行结果可以看出,同一个变量 x 在执行同一个 move() 方法时,由于 x 指向的对象不同,因此它呈现出不同的行为特征,这就是多态 。实际上,多态是一种非常灵活的编程机制 。
多态首先是建立在继承的基础上的,先有继承才能有多态 。多态是指不同的子类在继承父类后分别都重写覆盖了父类的方法,即父类同一个方法,在继承的子类中表现出不同的形式 。多态成立的另一个条件是在创建子类时候必须使用父类new子类的方式,这就是类的多态 。
F f1 = new Z1();F f2 = new Z2();f1.c();f2.c();子类Z1,Z2继承了父类F,并且重写了父类的方法c(),然后通过f1和f2去调用子类重写父类后的这个方法,即还有一个成立条件是子类必须重写父类的方法 。面向对象的三个基本特征是:封装、继承、多态 。
【什么是Python多态?python中什么是类的多态?】上述就是为大家分享的什么是Python多态?python中什么是类的多态?的相关内容,如果刚好有类似的疑惑,可以多看看这篇文章加深理解 。

    猜你喜欢