27 封装和接口

封装:即对外隐藏实现细节,并提供一些简单的接口

  python中的私有变量:在属性名前面加上两个下划线 __使其变成私有

私有属性:外界无法使用,我们可以为其提供接口

 为私有属性定义访问方法和设置方法,称之为访问器和设置器

  1.提供对私有属性的访问修改

  2.增加额外的判断逻辑

property装饰器

  property可以将一个方法伪装成一个普通的属性

  property 装饰完一个获取属性值的方法之后,返回一个对象,对象名即为方法名

  方法名.setter  用来设置属性的值

  方法名.deleter 用来删除属性,这样即覆盖了类原来的删除代码,需要手动的使用对象的__dict__来移除属性

python实现私有化的方式

  python通过改名的方式实现属性的私有化

  将名字改为 _类名属性名的方式,如果在外面也使用这种命名方式,也是可以强制访问的

  类的变形操作在定义阶段就已经发生了,,并且只发生一次

接口

  是一组功能的集合体

  好处:用于提高程序的拓展性

抽象类:

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

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

    特点:
        抽象类无法直接实例化  只能由子类继承之后 覆盖所有的抽象方法  才能实例化对象

猜你喜欢

转载自www.cnblogs.com/MrPotato-Head/p/10409041.html
27
今日推荐