• 从组合到鸭子模块


    组合:

    什么是组合

    ​ 组合指的是一个对象中的属性,是另一个对象.

    为什么要使用组合

    		组合目的和继承一样, 为了减少代码冗余.
    

    封装:

    什么是封装?

    封装指的是把一堆属性(特征与技能)封装到一个对象中.
    存数据的目的是为了取, 对象可以"."的方式获取属性.

    为什么要封装?

    封装的目的为了方便存取,可以通过对象.属性的方式获取属性.

    访问限制机制:

    什么是访问限制机制?

    在类内部定义, 凡是以__开头的数据属性与方法属性,都会被python内部隐藏起来,让外部不能"直接"访问类内部的__开头的属性.

    访问限制机制的目的?

    一堆隐私的属性与不能被外部轻易访问的属性, 可以隐藏起来,不被外部直接调用.

    property:

    什么是property

    python内置的装饰器, 主要是给类内部的方法使用.

    为什么要用property

    在对象调用某个方法时,将对象.方法()变成对象.方法(看起来想一个普通的数据属性)
    obj.bmi() == obj.bmi

    如何使用property

    @property
    def 类内部的方法(self):

    多态:

    什么是多态?

    多态指的是同一种事物的多种形态.

    多态的目的:

    多态的目的是为了, 让多种不同类型的对象, 在使用相同功能的情况下,调用同一个名字的方法名.
    父类: 定义一套统一的标准.
    子类: 遵循父类统一的标准.

    • 如何实现:
      • 继承父类
      • 继承抽象类
      • 鸭子类型

    抽象类的目的:

    ​ 强制子类必须遵循父类的一套标准.

    鸭子类型:

    - 什么是鸭子类型?

    ​ 在不知道当前对象是何物的情况下,但是你长得像鸭子,那么你就是鸭子类型.

    - 继承:

    ​ 耦合性太高,程序的可扩展性差

    - 鸭子类型:

    ​ 耦合度低,程序的可扩展性强

  • 相关阅读:
    scala 获取当前时间的两种方式
    log4j配置输出日志文件
    scala读取jar包外配置文件的方式
    scala 异常处理机制
    IDEA 安装scala插件
    第2部分 Elasticsearch查询-请求体查询、排序
    第1部分 Elasticsearch基础
    2.css
    1.html
    Linux搭建Nexus仓库+高可用方案
  • 原文地址:https://www.cnblogs.com/jimGraymane/p/11657211.html
Copyright © 2020-2023  润新知