zoukankan      html  css  js  c++  java
  • 8、多态与多态性

    1 多态
    多态指的是同一种事物的多种形态

    2 多态性:
    可以在不用考虑对象具体类型的情况下而直接使用对象

    优点:
    归一化,简化对象的使用
    # import abc
    #
    # class Animal(metaclass=abc.ABCMeta):
    #     @abc.abstractmethod
    #     def speak(self):
    #         pass
    #
    #     @abc.abstractmethod
    #     def run(self):
    #         pass
    
    #抽象基类:是用来指定规范,但凡继承该类的子都必须实现speak和run,而名字必须叫speak和run
    #注意:不能实例化抽象基类
    # Animal()
    
    
    # class People(Animal):
    #     def speak(self):
    #         print('say hello')
    #
    #     def run(self):
    #         pass
    #
    # class Dog(Animal):
    #     def speak(self):
    #         print('汪汪汪')
    #
    #     def run(self):
    #         pass
    #
    # class Pig(Animal):
    #     def speak(self):
    #         print('哼哼哼哼哼')
    # #
    #     def run(self):
    #         pass
    # #
    # obj1=People()
    # obj2=Dog()
    # obj3=Pig()
    #
    #obj1,obj2,obj3都是动物
    # obj1.speak()
    # obj2.speak()
    # obj3.speak()
    
    #
    # def speak(animal):
    #     animal.speak()
    #
    #
    # speak(obj1)
    # speak(obj2)
    # speak(obj3)
    
    
    # obj1=[1,2,3]
    # obj2='hello'
    # obj3={'x':1}
    #
    # print(obj1.__len__())
    # print(obj2.__len__())
    # print(obj3.__len__())
    #
    #
    # print(len(obj1))
    # print(len(obj2))
    # print(len(obj3))
    
    
    
    # python崇尚鸭子类型
    
    
    class Txt:
        def read(self):
            print('txt read')
    
        def write(self):
            print('txt write')
    
    
    class Process:
        def read(self):
            print('Process read')
    
        def write(self):
            print('Process write')
    
    
    class Disk:
        def read(self):
            print('Disk read')
    
        def write(self):
            print('Disk write')
    
    
    obj1=Txt()
    obj2=Process()
    obj3=Disk()
    
    
    
    obj1.read()
    obj1.write()
    
    obj2.read()
    obj2.write()
    
    obj3.read()
    obj3.write()
  • 相关阅读:
    php根据时间显示刚刚,几分钟前,几小时前的实现代码
    PHP中获取当前页面的完整URL
    PhpExcel中文帮助手册|PhpExcel使用方法
    洛谷P1781 宇宙总统【排序+字符串】
    洛谷P1579 哥德巴赫猜想(升级版)【水题+素数】
    洛谷P1478 陶陶摘苹果(升级版)【水题】
    洛谷P1002 过河卒【dp】
    51Nod
    排序算法总结(C++)
    UVA1339
  • 原文地址:https://www.cnblogs.com/z-x-y/p/10047498.html
Copyright © 2011-2022 走看看