美文网首页
封装(python 工程系列)

封装(python 工程系列)

作者: 我就是鱼鱼鱼 | 来源:发表于2022-03-27 11:03 被阅读0次

    封装是面向对象编程的三大特征之一

    1、封装的作用

    1.1、隔离复杂性

    将数据(属性)和行为(方法)包装到类对象中。在方法内部对属性进行操作,在类对象的外部调用方法。这样,无序关心方法内部的具体实现细节,从而隔离了复杂度。在编程语言中,对外提供接口。

    比如可以写一个处理数据并将数据自动入库的类,这就是一个功能,下次有这个需求的时候就可以直接调用这个类。

    1.2、保护隐私:

    在类对象的内部通过访问控制把某些属性和方法隐藏起来,不允许在类对象的外部直接访问,而是在类对象的内部对外提供公开的接口方法(例如getter和setter)以访问隐藏的信息。这样,就对隐藏的信息进行了保护。

    控制访问指的是:控制类对象的属性和方法在类对象的外部是否可以直接访问。

    如果在类对象的某个属性或方法前添加两个下划线__,那么在类对象的外部就不能直接访问该属性或方法

    控制访问之双下划线

    之所以不能在类对象的外部直接访问以双下划线开头的属性或方法,是因为:Python解释器对外把属性或方法__xxx改成了另外的名字:_类名__xxx。所以,在类对象的外部仍然可以通过_类名__xxx访问属性或者方法__xxx。但是强烈建议不要这样访问,因为不同版本的Python解释器可能会把属性或方法__xxx改成不同的名字。

    双下划线外部访问方式

    可以直接在类对象的外部直接绑定名为__xxx的属性和方法,这与在类对象名为__xxx的属性和方法是不同的。

    除了在类对象的属性和方法前添加两个下划线__,还可以在类对象的属性和方法前添加单下划线_,这样表示在类对象的外部可以直接访问属性和方法,但是不建议这样做。

    相关文章

      网友评论

          本文标题:封装(python 工程系列)

          本文链接:https://www.haomeiwen.com/subject/wabodrtx.html