zoukankan      html  css  js  c++  java
  • 学习日记0821组合 多态 封装

    1 组合

      什么是组合:

        组合就是有一个对象它拥有一个属性,该属性是另一个对象

      

    1 class Foo:
    2     pass
    3 class Bar:
    4     pass
    5 a= Foo()
    6 b=Bar()
    7 b.attrd = a

      为何要使用组合:

        通过向一个类添加属性的方式,可以将两个类联系在一起

    2 多态于多态性

      什么是多态: 多态指的是一种事物的不同组合

      多态的精髓就是:统一

       不崇尚的方法:

    import abc
    class People(metaclass=abc.ABCMeta):
        @abc.abstractmethod            
        def a():
            pass
        @abc.abstractmethod
        def b():
            pass
    
    class A(People):
        def a(): #此时格式被固定死了,必须有函数a和函数b
            print(a)
        def b():
            pass

      

      鸭子方法:

    class People:          
        def a():
            pass
        def b():
            pass
    
    class A):
        def a(): 
            print(a)
        def b():
            pass

    3 封装

      什么是封装:

        封:代表将存放于名称空间的名字隐藏起来,这种隐藏对外不对内

        装:向容器/名称空间中存入名字

      总结:

        1 __开头的属性没有真正的被隐藏,只是一种语法形式上的改写,并不是真正的限制外部的访问

        2 该变形只在定义的阶段进行一次,之后再添加的__开头的属性,不会再进行变形

        3 如果父类的属性不想被子类覆盖,就在属性的前面添加__

  • 相关阅读:
    Go源码文件与命令
    K8s控制器
    odoo 在form视图sheet右上角增加按钮
    odoo 常用widget
    odoo tree视图中实现横向滚动条
    可能是智障的高二生活
    千题计划
    闲谈
    线性代数与simplex
    好题集锦
  • 原文地址:https://www.cnblogs.com/jianhaozhou/p/9511539.html
Copyright © 2011-2022 走看看