python - class类 (七) 三大特性 - 封装 结尾

封装:

# 封装
#第一层,类就是麻袋,本身就是一种封装
#第二层,类中定义私有的,至在类的内部使用,外部无法访问
#第三层,封装在于明确区分内外,使得类实现者可以修改封装内的东西二不影响外部调用者
#而外部调用者也可以知道自己可以使用哪些属性哪些不行.
class A():
    #1.定义一个类属性
    # num = 123
    #2.第二种'隐藏'的类私有属性(约定)
    # _num = 123
    #3.第三种'隐藏'类私有属性(约定)
    # __num = 123

    def __init__(self,name,yc):
        self.name = name
        #私有实例属性
        self.__yc = yc

    #私有类函数方法
    def __test(self):
        print("test")
anec = A("anec",123)
#第一种
# print(anec.num)
#第二种
# print(anec._num)
#第三种
# print(anec._A__num)

#类的函数方法也同上
anec._A__test()

#实例属性隐藏也同上:
print(anec._A__yc)

# 结尾:
# python 并不是严格限制外部对私有属性的访问,以免封装滥用.
#真正的封装是,经过深入的思考,做出了良好的抽象,给出"完整且最小"的接口,并使得内部细节可以对外透明.

# 面向对象的优点:
# 1.更好的结构化编程方式
# 2.封装明确内外
# 3.在语言成眠支持了归一化设计

 

posted @ 2018-10-10 20:56  Anec  阅读(611)  评论(0编辑  收藏  举报