zoukankan      html  css  js  c++  java
  • python基础之Day23

    1.封装

    什么是?

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

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

    为什么要用?

    __init__往对象里丢属性

    封装数据属性:

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

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

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

    封装函数属性:

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

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

    精髓在于隔离复杂度

    如何?

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

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

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

    2.特性

    3.绑定方法

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

    精髓在于自动传值

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

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

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

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

    4.非绑定方法

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

    @staticmethod

  • 相关阅读:
    哥们儿太猛了
    word文档中出现一串乱码数字
    outlook添加附件时报错--“附件大小超过了允许的范围”
    windows常用脚本备忘
    vim常用命令
    win10中使用scp命令传输文件
    win10安装域控管理工具组件
    edge浏览器离线下载
    SQL_从星期一到星期六自动打卡SQL代码
    用友U8按BOM计算销售订单物料需求SQL代码 第一稿
  • 原文地址:https://www.cnblogs.com/chicokiko/p/9238960.html
Copyright © 2011-2022 走看看