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装饰器是用来将类内的函数属性伪装成数据属性

     

  • 相关阅读:
    使用Stream流递归 组合树形结构
    MySQL 8 通用表表达式
    sa-token 权限认证
    先更新缓存还是先更新数据库?
    钉钉 回调事件 消息加解密
    commons-io
    stream和parallelstream的区别
    消除if...else
    springboot 扩展xml请求和响应
    springboot admin 邮箱
  • 原文地址:https://www.cnblogs.com/zjh009/p/9511652.html
Copyright © 2011-2022 走看看