封装

# 封装可以保护数据
# 属性和方法前面有双下线,是私有属性,不能在类外部被调用,即使是继承
# 使用“对象._类名__属性或方法名”可以访问但不推荐

class Person:
    __key = 'abcd'                   # 私有静态属性
    def __init__(self, name, pwd):
        self.name = name
        self.__pwd = pwd            # 私有属性
    
    def set_pwd(self, pwd):
        self.__pwd = pwd
        return self.__pwd

    def __get_pwd(self):             # 私有方法
        print(self.__key)
        return self.__pwd          # 调用私有属性

    def login(self):                # 正常的方法调用私有的方法
        return self.__get_pwd()

man = Person('huang', '123')
print(man.login())
print(man._Person__pwd)

 

posted @ 2018-09-12 23:13  该搬砖啦  阅读(94)  评论(0编辑  收藏  举报