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()
  • 相关阅读:
    DOM基本介绍
    BOM的基本介绍
    对象
    函数
    时钟
    双色球
    JS数据结构
    微信扫二维码根据系统下载apk
    javascript相关积累
    ajax精华
  • 原文地址:https://www.cnblogs.com/z-x-y/p/10047498.html
Copyright © 2011-2022 走看看