zoukankan      html  css  js  c++  java
  • 抽象类,接口类,归一化设计,多态,鸭子类型

    抽象类 : 规则
        约束了所有继承这个抽象类的子类必须实现某些同名方法
    from abc import ABCMeta,abstractmethod
    class Abstract(metaclass=ABCMeta):   # metaclass 元类
        @abstractmethod
        def func_name(self):
            print('继承Abstract的子类中必须有一个func_name的方法')
    class Son(Abstract):
        def func_name(self):
            print('继承了Abstract就必须写一个func_name方法')
    
    接口类(对多个抽象类的多继承)
    class Abstract1(metaclass=ABCMeta):   # metaclass 元类
        @abstractmethod
        def wahaha(self):
            print('继承Abstract1的子类中必须有一个wahaha的方法')
    class Abstract2(metaclass=ABCMeta):   # metaclass 元类
        @abstractmethod
        def qqxing(self):
            print('继承Abstract2的子类中必须有一个qqxing的方法')
    class Son(Abstract1,Abstract2):
        def wahaha(self):
            print('继承Abstract1的子类中必须有一个wahaha的方法')
        def qqxing(self):
            print('继承Abstract2的子类中必须有一个qqxing的方法')
    
    归一化设计 
    不符合归一化设计的思想
    class Student:
        def denglu(self):pass
    class Teacher:
        def login(self):pass
    
    a = Student()
    a.denglu()
    b = Teacher()
    b.login()
    
    归一化设计
    class Student:
        def login(self):pass
    class Teacher:
        def login(self):pass
    def login(obj):
        obj.login()
    a = Student()
    a.login()
    b = Teacher()
    b.login()
    

      

  • 相关阅读:
    PAT 00-自测1. 打印沙漏(20)
    js Ajax
    c语言算法实现
    解决python for vs在vs中无法使用中文
    python排序算法实现:
    2014-4-27 心情
    Sdut 2416 Fruit Ninja II(山东省第三届ACM省赛 J 题)(解析几何)
    Poj 1061 青蛙的约会(扩展欧几里得)
    hrbust 1328 相等的最小公倍数(数论)
    hdu 1286 找新朋友 (欧拉函数)
  • 原文地址:https://www.cnblogs.com/LLBFWH/p/10009671.html
Copyright © 2011-2022 走看看