美文网首页
Python多态

Python多态

作者: Hello_World_QYD | 来源:发表于2021-12-27 12:01 被阅读0次

多态顾名思义多种状态,在python中,不同的对象调用同一个接口,表现出不同的状态,称为多态。
所以说多态有什么用?一是增加程序的灵活性,二是增加程序的可扩展性
要实现多态有两个前提:
1.继承:多态必须发生在父类与子类之间
2.重写:子类重写父类方法

class Animal():

    def who(self):

        print("I am an Animal")

class Duck(Animal):

    def who(self):

        print("I am a duck")

class Dog(Animal):

    def who(self):

        print("I am a dog")

class Cat(Animal):

    def who(self):

        print("I am a cat")

if __name__ == "__main__":

    duck=Duck()

    dog=Dog()

    cat=Cat()

    duck.who()

    dog.who()

    cat.who()

多态有什么用?

其实以上代码实际貌似没啥用,为什么一定要去定义通过同一个函数名?我定义who1,who2,who3不可以吗?代码量也一样啊!

其实真正体验出多态好处的代码一般是这样写的

class Animal():

    def who(self):

        print("I am an Animal")

class Duck(Animal):

    def who(self):

        print("I am a duck")

class Dog(Animal):

    def who(self):

        print("I am a dog")

class Cat(Animal):

    def who(self):

        print("I am a cat")

def func(obj):

    obj.who()

if __name__ == "__main__":

    duck=Duck()

    dog=Dog()

    cat=Cat()

    func(duck)

    func(dog)

    func(cat)

作者:心语_93f2
链接:https://www.jianshu.com/p/3b6e094808b7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • 多态的意义和操作过程

    多态 首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。以下是维基百科中对鸭子...

  • python常用的一些技巧

    1、三目操作符 2、鸭子类型(duck typing) 首先Python不支持多态,也不用支持多态,python是...

  • Python:多态、鸭子模型和抽象基类

    1. 多态 什么是多态-- 多态,指的是一种事务具有多种形态;-- python是一种动态语言,默认支持多态,同一...

  • Python基础总结(九)(继承和多态)

    这里主要列出Python中有关继承和多态的略微特殊的知识点,常见更多继承多态问题 Python允许多重继承,使用下...

  • Python多态

    一、多态 1.概念 一种事物的多种体现形式,函数的重写其实就是多态的一种体现在Python中,多态指的是父类的引用...

  • Python 多态

    仅用学习参考 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中定义类...

  • python 多态

    昨天说多态放在类中,是错误的。python不允许函数重名。 多态的实现 def he (x=0,y=0,z=0,i...

  • python 多态

    目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中定义类的准则 继承 ...

  • python多态

    多态定义 在面向对象编程中, 多个类的相同接口差异化实现. 多态作用 通过在多个类中实现通用接口, 使得该类具有接...

  • python 多态

    多态 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中定义类的准则 ...

网友评论

      本文标题:Python多态

      本文链接:https://www.haomeiwen.com/subject/flkyqrtx.html