类的封装
(1)什么是封装?
在日常生活中,封装是指将物品包装起来,不让人看到内部,具有一定的隐私和保护的作用
在python中,类的封装是指将类的某些部分(属性、方法)隐藏起来,称为私有属性/方法,实例化的对象不能直接使用被封装的方法和属性,具有一定的保护作用,隐藏对象的属性和方法实现细节,仅对外提供公共的访问方式
封装的格式:属性或方法名称加上__(双下划线)前缀
class People(object): __name = "小明" # 私有化属性 def __set_age(): print("这是一个私有方法,只能在类/对象内部调用")
(2)封装后的限制
私有属性/方法可以在类本身中使用,但不能在类/对象外、子类/子类对象中使用
python中的封装操作,不是通过权限限制而是通过改名实现的
可以通过“类名.__dict__”查看属性(包括私有属性)和值,在类的内部使用私有属性,python内部会自动改名成“_类名__属性名”形式
class People: __name = "ming" print(People.__dict__)
在类的外部不能给对象添加私有属性,因为不能转换成“_类名__属性名”形式