zoukankan      html  css  js  c++  java
  • 组合 多态 封装

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

    为何要用组合
    减少类与类之间代码冗余
    如何用组合
    通过为某一个对象添加属性(属性的值是另外一个类的对象)的方式,间接地将两个类关联/整合/组合到一起

    1. 什么是多态
    多态指的是同一种/类事物的不同形态

    2. 为何要用多态
    多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象
    多态性的精髓:统一

    父类只是用来建立规范的,不能用来实例化的,更无需实现内部的方法

    1. 什么是封装
    装:往容器/名称空间里存入名字
    封:代表将存放于名称空间中的名字给藏起来,这种隐藏对外不对内

    2. 为何要封装
    封数据属性:
    将数据属性隐藏起来,类外就无法直接操作属性,需要类内开辟一个接口来外部的使用可以间接地操作属性,
    可以在接口内定义任意的控制逻辑,从而严格控制使用对属性的操作
    封函数属性:
    property装饰器是用来将类内的函数属性伪装成数据属性

    3. 如何封装
    在类内定义的属性前加__开头(没有__结尾)
    总结:
    1. __开头的属性实现的隐藏仅仅只是一种语法意义上的变形,并不会真的限制类外部的访问
    2. 该变形操作只在类定义阶段检测语法时发生一次,类定义阶段之后新增的__开头的属性并不会变形
    3. 如果父类不想让子类覆盖自己的属性,可以在属性前加__开头

  • 相关阅读:
    LeetCode(81): 搜索旋转排序数组 II
    2018年6月8日论文阅读
    LeetCode(80):删除排序数组中的重复项 II
    LeetCode(79): 单词搜索
    LeetCode(78):子集
    LeetCode(77):组合
    LeetCode(76): 最小覆盖子串
    LeetCode(75):分类颜色
    LeetCode(74):搜索二维矩阵
    linux 两个查找工具 locate,find
  • 原文地址:https://www.cnblogs.com/liangchengyang/p/9511484.html
Copyright © 2011-2022 走看看