‘’’
补充内容:封装
面向对象的封装分为三个级别:
1. 私有化封装 private
2. 受保护级别的封装(继承章节讲解) protected
3. 公共的封装 public
注意:Python目前不支持设定受保护的成员,但是开发者有约定的使用方式
受保护的封装:在成员名称前面加一个下划线
受保护的目的:仅允许成员在当前类/对象或者子类/子对象中访问,外部禁止
类/对象内 子类/子对象中 类/对象外
私有化 ✔ ✖ ✖
受保护 ✔ ✔ ✔ (不允许)
公共的 ✔ ✔ ✔
‘’’
#创建一个刘备的父类
class LiuBei:
#属性
__wife = (‘孙尚香’,‘大乔’,‘小乔’)
_property = (‘一座荆州城’)
skin = (‘黄种人’)
#方法
def eat(self):
print('天天吃肉')
def __study(self):
print('好好学习Python')
def _makeshoes(self):
print('编草鞋')
#创建一个刘禅的子类
class LiuShan(LiuBei):
pass
#属性
play = ‘什么也不想做,就想玩’
#方法
def wait(self):
print(‘等待着你,挂掉了好继承遗产’)
#检测私有化和公共的封装
#实例化对象
ls = LiuShan()
#print(ls.wife) 私有成员无法调用
#ls.study() 私有成员无法调用
print(ls.skin) #公共的成员,可以调用
ls.eat() #公共的成员,可以调用
#在子类子对象的内部调用受保护的成员
ls._makeshoes()
print(ls._property)
#在类和对象外部访问
#实例化一个对象
lb = LiuBei()
print(lb._property)
lb._makeshoes()