面向对象中多态的概念,Python什么是多态
我们看到的是圆形或方形,这是事物的不同形态。python中的多态性也适用。由于类继承的好处,一些朋友在多态中看到了差异和联系。作为多态类的三个特征之一,在使用时必然会与其他特征相关联。让我们探讨一下在python面向对象中使用多态性的前提。在开始之前,我们先简单了解一下多态性。
多态性是指一种事物有多种形式。
动物有很多种形式:人、狗和猪。
重要abc
class animal(meta class=ABC . ABC meta): #同类事物:动物
@abc.abstractmethod
deftalk(self):
及格
类(动物): #动物:人的一种形式
deftalk(self):
打印(“sayhello”)
ClassDog(动物):#第二种形式的动物:狗
deftalk(self):
打印(“saywangwang”)
ClassPig(动物):#第三种动物:猪
deftalk(self):
打印(“sayaoao”)
classDog(对象):
def__init__(self,name):
self.name=name
defgame(self):
打印( %s弹跳播放.%self.name)
classXiaoTianDog(狗):
defgame(self):
打印( %s飞到天上去玩
..."%self.name)
:继承、重写。
classPerson(object):
def__init__(self,name):
self.name=name
defgame_with_dog(self,dog):
print("%s和%s快乐的玩耍..."%(self.name,dog.name))
dog.game()
game 方法是在 Dog 父类中定义的,Person 类中只需要让狗对象调用 game 方法,而不关心具体是什么狗。
#1.创建一个狗对象#wangcai=Dog("旺财")
wangcai=XiaoTianDog("飞天旺财")
#2.创建一个小明对象
xiaoming=Person("小明")
#3.让小明调用和狗玩的方法
xiaoming.game_with_dog(wangcai)
#小明和飞天旺财快乐的玩耍...
#飞天旺财飞到天上去玩耍...
在程序执行时,传入不同的狗对象实参,就会产生不同的执行效果。
类的多态特性,必须满足以下 2 个前提条件:
继承:多态一定是发生在子类和父类之间。
重写:子类重写了父类的方法。
通过在python面向对象中对多态的初步学习,我们已经得出多态的两个使用前提,这点是需要小伙伴们使用时需要注意的,大家不要忘记啦。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。