• 封装


    封装:
    字面意思:把什么东西装到容器里,再封闭起来
    与隐藏类似,但不只是隐藏
    官方解释:对外部隐藏实现细节,并提供简单的使用接口

    封装的好处:
    1.提高安全性 封装关键数据来实现
    2.隔离复杂度 封装一些内部的实现方法来实现

    python中的属性访问权限只有两种:
    1.公开的(默认) 在任何地方都能访问到
    2.私有的 仅在类内部可以使用

    如何使用:在要封装的变量名或者方法名前面加两个下划线__ 使其变成私有的
    访问器与设置器:
    封装起来的属性外界完全无法使用 就没有意义
    我们可以定义访问方法 和设置方法 称之为访问器和设置器
    1.提供对私有属性的访问修改
    2.增加额外的判断逻辑

    property装饰器:
    调用和修改私有属性的写法与普通属性的写法不一致
    使用起来比较复杂

    使用property装饰器可以将一个方法伪装成一个普通属性
    这样对于使用者而言 调用方法一致

    访问器:
    @property 用点来访问属性时触发 p1.id_card

    设置器
    @属性名称.setter 用点来设置属性时触发 p1.id_card = ‘123456’

    删除器
    @属性名称.deleter 用def 删除属性时触发 def p1.id_card
    接口:
    interface 接口
    是一组功能集合体

    好处:用于提高程序的拓展性
    接口用于定义一组功能,后续的程序只要按照接口来进行实现 就能被使用

    抽象类:
    使用class来模拟接口的问题是 不能强行限制子类必须实现接口的方法

    抽象在这里指的是不具体 不清晰 看不懂
    如果一个方法 没有实现体 那么这个方法就可以称之为抽象方法
    如果一个类中存在抽象方法 那么这个类也是抽象的
    反过来说 只要有方法没有实现体 那么这个类就是抽象类

    作用:
    抽象类 也是用于提高拓展性的 与接口类似的是 也能作为一套规范
    但是抽象类比接口强的地方在 可以强行限制 子类必须实现父类中声明的方法

    特点:
    抽象类无法直接实例化 只能有子类继承之后 覆盖所有的抽象方法
    才能实例化对象
  • 相关阅读:
    PHP 中 define() 和 const 定义常量时的区别
    tar 解压常用压缩文件格式命令大全
    JVM的GC策略
    守护线程(Daemon Thread)
    探索HashMap实现原理及其在jdk8数据结构的改进
    Java面试& HashMap实现原理分析
    Java分布式应用
    全面理解Java内存模型
    Java& Vector与ArrayList区别
    深入理解Java虚拟机&运行时数据区
  • 原文地址:https://www.cnblogs.com/xiezuodd/p/10408456.html
Copyright © 2020-2023  润新知