zoukankan      html  css  js  c++  java
  • 多态实例-一种接口,多种实现

    class animal(object):
        def __init__(self,name):
            self.name=name
        def talk(self):
            pass
    
    class Cat(animal):
        def talk(self):
            print("Mou,Mou")
    class Dog(animal):
        def talk(self):
            print("Wang Wang------")
    c1=Cat("机器猫")
    c1.talk()
    
    d1=Dog("苯笨")
    d1.talk()
    
    def Animal_talk(obj):
        obj.talk()
    Animal_talk(c1)
    Animal_talk(d1)
    

    改良版:

    class animal(object):
        def __init__(self,name):
            self.name=name
        def talk(self):
            pass
        @staticmethod
        def animal_talk(obj):
            obj.talk()
    
    class Cat(animal):
        def talk(self):
            print("Mou,Mou")
    class Dog(animal):
        def talk(self):
            print("Wang Wang------")
    c1=Cat("机器猫")
    c1.talk()
    
    d1=Dog("苯笨")
    d1.talk()
    
    animal.animal_talk(c1)
    animal.animal_talk(d1)
    

     运行结果:

    Mou,Mou
    Wang Wang------
    Mou,Mou
    Wang Wang------
    
  • 相关阅读:
    PyQt5库结构
    PyQt5
    QObject
    os.listdir()
    os.getcwd()
    os.chdir()
    os.access()
    __name__
    php 学习笔记之关于时区的那点事
    php 学习笔记之搭建开发环境(mac版)
  • 原文地址:https://www.cnblogs.com/momo8238/p/7256351.html
Copyright © 2011-2022 走看看