封装:即对外隐藏实现细节,并提供一些简单的接口
python中的私有变量:在属性名前面加上两个下划线 __使其变成私有
私有属性:外界无法使用,我们可以为其提供接口
为私有属性定义访问方法和设置方法,称之为访问器和设置器
1.提供对私有属性的访问修改
2.增加额外的判断逻辑
property装饰器
property可以将一个方法伪装成一个普通的属性
property 装饰完一个获取属性值的方法之后,返回一个对象,对象名即为方法名
方法名.setter 用来设置属性的值
方法名.deleter 用来删除属性,这样即覆盖了类原来的删除代码,需要手动的使用对象的__dict__来移除属性
python实现私有化的方式
python通过改名的方式实现属性的私有化
将名字改为 _类名属性名的方式,如果在外面也使用这种命名方式,也是可以强制访问的
类的变形操作在定义阶段就已经发生了,,并且只发生一次
接口
是一组功能的集合体
好处:用于提高程序的拓展性
抽象类:
如果一个方法 没有实现体 那么这个方法就可以称之为抽象方法
如果一个类中存在抽象方法 那么这个类也是抽象的
反过来说 只要有方法没有实现体 那么这个类就是抽象的
作用:
抽象类 也是用于提高扩展性的 与接口相似的是 也可以作为一套规范
比接口强大的地方在与 可以强行限制 子类必须实现父类中声明的方法
特点:
抽象类无法直接实例化 只能由子类继承之后 覆盖所有的抽象方法 才能实例化对象
原文:https://www.cnblogs.com/MrPotato-Head/p/10409041.html