Python多态

多态顾名思义多种状态,在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中,不同的对象调用同一个接口,表现出不同的状态,称为多态。 cl...
    心语_93f2阅读 609评论 0 0
  • 一、多态 1.概念 一种事物的多种体现形式,函数的重写其实就是多态的一种体现在Python中,多态指的是父类的引用...
    hollow_02f9阅读 6,049评论 0 1
  • 一、多态 1.概念 一种事物的多种体现形式,函数的重写其实就是多态的一种体现 在Python中,多态指的是父类的引...
    墨雨love薏雪阅读 407评论 0 0
  • iOS多态 多态就是父类指针指向子类指针 多态是具有表现多种形态的能力的特征,是为了避免在父类里大量重载引起代码臃...
    沃伦盖茨阅读 277评论 0 0
  • 1. 多态 什么是多态-- 多态,指的是一种事务具有多种形态;-- python是一种动态语言,默认支持多态,同一...
    dex0423阅读 2,077评论 0 0