封装

封装 enclosure
  封装是指隐藏类的实现细节,让使用者不关心这些细节
  封装的目的是让使用者通过尽可能少的方法(或属性)操作对象


私有属性和方法
  python类中以双下划线('__') 开头,不以双下划线结尾的标识符为私有成员,私有成员或只能用类内的方法进行访问和修改
  以__开头的实例变量有私有属性
  以__开头的方法为私有方法

注:python 的封装是假的封装(模拟的封装)

 

class A:
    def __init__(self,name):   
        self.__name = name          #<<<---   __p1为私有属性

    def show_init(self):
        print(self.__name)
        print(self.__m())

    def __m(self):
        print("A类的私有方法")

a = A("zengsf")
a.show_init()

a.__name = "fengshao"   #对象调用隐藏的属性修改是无效的
a.show_init()
#a.__m()    #这样就会报错
~                           

tarena@tedu:~/zengsf/827$ python3 test.py
zengsf
A类的私有方法
None
zengsf
A类的私有方法
None

 

posted on 2018-08-28 21:40  zengsf  阅读(89)  评论(0编辑  收藏  举报

导航