美文网首页
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多态

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