这篇内容当中将会给大家带来有关什么是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中什么是类的多态?的相关内容,如果刚好有类似的疑惑,可以多看看这篇文章加深理解 。
猜你喜欢
- python的基本格式有哪些?什么是python的基本格式?
- Python如何实现列表拼接?Python实现列表拼接的方法有哪些?
- 什么是operator模块?Python中operator模块如何使用?
- 如何实现Python列表去重?Python列表去重的方法有哪些?
- 如何通过python实现循环队列?python循环队列方法
- python中怎么写for语句?如何使用for语句实现倒三角的九九乘法表?
- python中局部变量和全局变量有什么用?如何理解局部变量和全局变量?
- python数据类型有哪些?python基本数据类型
- python语句如何分隔?python语句分隔的案例
- 如何对python进行数据检查?python数据检查的方法
