Python基础24类-封装

# _name,只是约定不让外部访问,其实还是可以用._name访问
# __name,也只是约定并且更改访问属性名,其实也还是可以访问,用_Foo__age访问
# eg:
class Foo:
    __age=18
    def __init__(self,name):
        self.name=name
f1=Foo('alex')
print(f1.__dict__)
print(Foo.__dict__)
print(f1._Foo__age)
#比较严谨封装的方法
class Room:
    def __init__(self,owner,width,length):
        self.owner=owner
        self.__width=width
        self.__legth=length
    def tell_area(self):
        return self.__legth * self.__width
    def get_width(self): #如果封装的变量后面外部想调用则必须写接口函数
        return self.__width
r1=Room('alex',10,20)
print(r1.owner)
print(r1.get_width())
print(Room.__dict__)

 

posted @ 2019-02-28 19:54  献丑小角  阅读(132)  评论(0编辑  收藏  举报