wangwt123

Python面向对象编程-多态

一、多态

多态的优势具体可以总结为如下⼏点,具体为:

增加了持续的灵活性

增加了持续的额外扩展的功能

 1 class Animal(object):
 2     def talk(self):
 3         print("动物会叫")
 4 
 5 class Cat(Animal):
 6     def talk(self):
 7         print("猫会叫")
 8 
 9 class Dog(Animal):
10     def talk(self):
11         print("狗也会叫")
12 
13 def func(animal):
14     animal.talk()
15 if __name__ == '__main__': #函数进入的入口
16     cat=Cat()       #对猫进行实例化的过程
17     func(animal=cat)   #调用方式不需要修改,就直接可以输出
18     dog=Dog()
19     func(animal=dog)

运行结果如下:

猫会叫
狗也会叫

Process finished with exit code 0

通过上述代码,我们可以知道:多态性可以理解为对Cat⽽⾔只是产⽣了⼀个对象,使⽤者完全可以在不需要修改⾃⼰的情况下,就能够调⽤Cat和Dog对象的talk的⽅法。

二、鸭子类型

鸭子类型:在Python⾥⾯,所谓鸭⼦类型就是指“如果看起来像,叫声像⽽且⾛路起来像鸭⼦,那么它就是鸭⼦”。

如上述,如果看起来像,叫声像猫,那么它就是猫。

posted on 2022-06-24 18:32  DOUBLE快乐  阅读(77)  评论(0编辑  收藏  举报

导航