• python基础之Day23


    1.封装

    什么是?

    封:明确地把属性隐藏起来 ,对外隐藏,对内开放

    申请名称空间,往里面装入一系列名字 /属性(类比 类 和对象   只是装的概念)

    为什么要用?

    __init__往对象里丢属性

    封装数据属性:

    定义属性的目的是给类的外部使用者用的

    隐藏属性目的是为了不让用户直接使用,如果想用的话,需要类内部开辟一个接口,实现间接访问

    精髓在于我们可以在接口上附加任意逻辑,从而严格控制使用者对属性的操作

    封装函数属性:

    定义属性的目的是给类的外部使用者用的

    隐藏属性目的是为了不让用户直接使用,如果想用的话,需要类内部开辟一个接口,实现间接访问

    精髓在于隔离复杂度

    如何?

    在要隐藏的属性之前加__开头

    隐藏在类的内部是可见的,对外不对内

    隐藏只是语法上的变形,只在类定义阶段发生一次,类体内代码只在定义阶段发生一次

    2.特性

    3.绑定方法

    绑定给谁,就应该由谁来调用,把谁当作第一个参数传入

    精髓在于自动传值

    绑定方法分类:1.绑定给对象  类内部定义的函数 没有被任何装饰器修饰的 默认绑定给对象

                              2.绑定给类    类内部定义的函数被@classmethod 装饰 将类当作第一个参数传入

    绑定给类的对象也可以用,但自动传入的仍是类

    类绑定给对象:如果函数体代码需要用到外部传入的类,则应该将该函数定义成绑定给类的方法

    4.非绑定方法

    既不与类也不与对象绑定,无自动绑定的效果,就是普通的函数,类与对象都可以调用,但是无论谁调用都没有自动传值的效果

    @staticmethod

  • 相关阅读:
    2018年国内就业薪资高的7大编程语言排行
    前端css实现最基本的时间轴
    前端css实现最基本的时间轴
    用Canvas画一个刮刮乐
    用Canvas画一个刮刮乐
    「干货」从菜鸟到大神,前端学习书籍推荐
    洛谷P3379 【模板】最近公共祖先(LCA)
    洛谷 P1359 租用游艇
    位运算...
    洛谷P2782 友好城市
  • 原文地址:https://www.cnblogs.com/chicokiko/p/9238960.html
Copyright © 2020-2023  润新知