学习日记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 如果父类的属性不想被子类覆盖,就在属性的前面添加__

posted @ 2018-08-21 15:19  周建豪  阅读(123)  评论(0)    收藏  举报