day 21

day 21 组合 封装

01 组合

  1. 一个类产生的对象是另一个对象的属性
  2. 为了减少代码量

02 封装

  1. 什么是封装
    1. 把一堆属性(特征与技能)封装到一个对象中。
    2. 可以通过(对象.属性)方式调用该属性
  2. 为什么要封装
    1. 通过(对象.属性)简化操作流程,方便存取
  3. 如何封装
    1. 在类内部定义一堆属性(特征;变量>数据属性,技能;函数>方法属性)
    2. 通过对象.属性=属性值
  4. 访问限制机制
    1. 在类内部定义的以(__)开头的属性,不能通过对象.属性的方式直接调用
    2. 把隐私和不能被外部轻易调用的属性,不可被直接调用
    3. 对数据获取的逻辑更加严谨,进而保证了数据的安全
    4. 在类中定义一个访问接口,让用户通过return方式获取但不能更改,内部可以进行逻辑判断
    5. 在类中定义一个修改接口,让用户通过调用接口方式修改属性值,内部可以进行逻辑判断
    6. 在python中不会强制内绝对不能访问,类内部的__属性会变成_类名__属性的形式,同过对象.变形名进行访问
  5. property;
    1. python内置的一个装饰器,主要是给类内部的方法使用
    2. 将类内部的方法隐藏起来,
    3. 将方法的调用方式,改为不需要括号
    4. 不能对被装饰过的方法属性修改值(应为它还是方法而不是数据)
    5. 修改和删除的方法
  6. 多态
    1. 多态指同一事物的多种形态,多态性,继承就是多态的一种表现形式
    2. 让多种不同类型的对象,在使用相同内容功能的情况下,调用同一种名字的方法
    3. 父类;定义一套统一的调用标准,子类;遵循父类的统一标准
    4. 多态的目的是为了统一调用标准
  7. 抽象类;abc模块
    1. 在python中,不会强制子类使用父类的标准,abc实现了这个功能
原文地址:https://www.cnblogs.com/luocongyu/p/11668794.html