封装
字面意思 把什么东西装到容器 在封闭起来
与隐藏有相似之处 但不是单纯的隐藏
官方解释:对外部隐藏实现细节,并提供简单的使用接口
封装的好处
1.提高安全性 封装关键数据来实现
2.隔离复杂度 封装一些内部的实现逻辑(方法)来实现
python中的属性访问权限
1.公开的(默认) 在任何地方都能访问到
2.私有的 仅在类内部可以使用
如何封装:
使用特殊语法:给要隐藏的变量名称前面加上两个下划线 __ 使其变成私有的
class Person:
def __init__(self,name,sex,age,id_card):
self.name = name
self.age = age
self.sex = sex
self.__id_card = id_card
def say_hi(self):
print("hello my name is %s age %s sex %s id %s" %
(self.name,self.age,self.sex,self.__id_card)) # 内部可以访问
p1 = Person("xxx","man",30,"12121121212121X")
p1.say_hi()
print(p1.__id_card) #外部无法访问私有的内容
# 封装方法
# 场景 一些方法的存在是为了 完成其他的功能 这些方法就不应该提供给外界 例如发动机中的 打火这个功能
# 当一个方法中的代码 太多时 我们需要将其拆分为不同的小函数 这个小函数不应该提供给外界
class PC:
def boot(self):
self.__read_rom()
self.__boot_bios()
self.__read_opt()
self.__boot_gui()
print("电脑启动成功!")
def __read_rom(self):
print