类的三大特性之一:封装特性

封装特性:将私有变量和私有方法封装到类的内部,起保护作用,只能调用类的内部方法才能拿到,不能通过实例对象调用私有方法和私有变量。
class People():
    def __init__(self,name,age):
        self.__name=name    #__name私有变量,封装到类的内部,起保护作用
        self.__age=age
    def setName(self,newname):   #重新赋值
        self.__name=newname
    def getName(self):  #取值
        return self.__name

    def __setAge(self):    #__setAge私有方法,封装到类的内部,起保护作用,没有办法通过实例变量进行调用
        print('我已经被调用了。')
    def getAge(self):  #通过实例方法调用私有方法
        self.__setAge()
if __name__=='__main__':
    p=People('xiaozhang','18')  # 实例化对象
    # print(p.__name)  #报错,私有变量具有保护作用,不能通过对象直接调用
    # p.setName('dazhang')  #对私有变量进行重新赋值
    # print(p.getName()) #通过类的内部方法进行调用私有变量
    # p.__setAge() #报错,私有方法具有保护作用,不能通过对象直接调用
    p.getAge() # 通过对象调用实例方法,简介调用私有方法。  打印结果:我已经被调用了。

 

posted @ 2021-08-03 20:56  夏夏夏天的西瓜  阅读(82)  评论(0编辑  收藏  举报