面向对象中多态的概念,Python什么是多态

  面向对象中多态的概念,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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: