zoukankan      html  css  js  c++  java
  • Python学习之路_day_25(面向对象之封装/多态/组合)

    一、组合

    1. 什么是组合:

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

    2. 为何要用组合

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

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

    二、多态:

    1. 什么是多态

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

    2. 为何要用多态

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

    多态性的精髓:统一

    python崇尚鸭子类型

    三、封装:

    1. 什么是封装

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

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

    2. 为何要封装

        【封装】

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

    【好处】 

    1. 将变化隔离; 

    2. 便于使用;

    3. 提高复用性; 

    4. 提高安全性;

    【封装原则】

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

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

    3. 如何封装

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

        总结:

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

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

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

    四、property

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

     

  • 相关阅读:
    【转贴】Cookie + Session + OAuth + SSO
    zz淘宝商品库MySQL优化实践
    HIVE 数据倾斜调优总结zz
    数据挖掘笔记(一)
    hive函数参考手册
    hive QL(HQL)简明指南zz
    数据挖掘笔记(二)
    python format string (转)
    hive 中转义符使用问题
    关于文档管理
  • 原文地址:https://www.cnblogs.com/zjh009/p/9511652.html
Copyright © 2011-2022 走看看