• 3-22 多态


    class Animal(object):
    def __init__(self,name):
    self.name =name

    class Cat(Animal):
    def tall(self):
    print('miao miao')
    class Dog(Animal):
    def tall(self):
    print('wang wang')

    def aa(ww):
    ww.tall() ###子类传入 父类Animal

    c1 = Cat('阿三')
    #c1.tall()
    d1 = Dog('阿肆')
    #d1.tall()
    aa(d1) ###一个接口 多种状态。

    不是传统意义上的多态

    class Animal(object):   
        def __init__(self,name):
            self.name =name
    
        @staticmethod    ### static方法
        def aa(ww):
            ww.tall()
    
    class Cat(Animal):
            def tall(self):
                print('miao miao')
    class Dog(Animal):
            def tall(self):
                print('wang wang')
    
    # def aa(ww):
    #     ww.tall()  ###子类传入 父类
    
    c1 = Cat('阿三')
    #c1.tall()
    d1 = Dog('阿肆')
    #d1.tall()
    Animal.aa(c1)  ###一个接口 多种状态。
    ###严格意义上的 多态方法

  • 相关阅读:
    OD: Kernel Vulnerabilities
    newInstance()和new的区别
    原型模式
    工厂模式
    代理模式
    策略模式
    简单工厂模式
    C#操作符的重载
    旅行之舌尖上的中国
    模式和原则[转载]
  • 原文地址:https://www.cnblogs.com/th-lyc/p/8621712.html
Copyright © 2020-2023  润新知