• Python学习之路_day_25(面向对象之封装/多态/组合)


    一、组合

    1. 什么是组合:

    组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象。

    2. 为何要用组合

        通过为某一个对象添加属性(属性的值是另外一个类的对象)的方式,可以间接地将两个类关联/整合/组合到一起

    从而减少类与类之间代码冗余

    二、多态:

    1. 什么是多态

        多态指的是同一种/类事物的不同形态

    2. 为何要用多态

        多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象

    多态性的精髓:统一

    python崇尚鸭子类型

    三、封装:

    1. 什么是封装

        装:往容器/名称空间里存入名字

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

    2. 为何要封装

        【封装】

             隐藏对象的属性和实现细节,仅对外提供公共访问方式。

    【好处】 

    1. 将变化隔离; 

    2. 便于使用;

    3. 提高复用性; 

    4. 提高安全性;

    【封装原则】

          1. 将不需要对外提供的内容都隐藏起来;

          2. 把属性都隐藏,提供公共方法对其访问。

    3. 如何封装

        在类内定义的属性前加__开头(没有__结果)

        总结:

            1. __开头的属性实现的隐藏仅仅只是一种语法意义上的变形,并不会真的限制类外部的访问

            2. 该变形操作只在类定义阶段检测语法时发生一次,类定义阶段之后新增的__开头的属性并不会变形

            3. 如果父类不想让子类覆盖自己的属性,可以在属性前加__开头

    四、property

    property装饰器是用来将类内的函数属性伪装成数据属性

     

  • 相关阅读:
    GoLang设计模式15 策略模式
    GoLang设计模式18 适配器模式
    GoLang设计模式14 状态模式
    GoLang设计模式12 空对象模式
    GoLang设计模式19 桥接模式
    GoLang设计模式17 访客模式
    GoLang设计模式13 观察者模式
    GoLang设计模式16 模板方法模式
    Papervision3D材质
    Papervision3D基本原理
  • 原文地址:https://www.cnblogs.com/zjh009/p/9511652.html
Copyright © 2020-2023  润新知