1. 캡슐화의 의미
-
속성과 메서드를 전체적으로 합친 다음 개체를 인스턴스화하여 처리합니다.
-
내부 구현 세부 정보를 숨기고 개체와 해당 속성 및 메서드와 상호 작용하기 만하면됩니다.
-
2. 액세스 권한 제어를 클래스의 속성 및 메소드에 추가하십시오.
2. 개인 속성 값 수정
- 속성과 메소드 이름 앞에 두 개의 밑줄 '__'이 추가되면 속성과 메소드가 비공개 권한임을 나타냅니다.
- get_xxx () 및 set_xxx () 메서드를 사용하여 개인 속성 값을 가져오고 수정합니다.
샘플 코드는 다음과 같습니다.
# 定义一个Master类
class Master(object):
def __init__(self):
self.formula = "古法煎饼果子配方"
self.__sal = 10000
def make_cake(self):
print("[古法]按照{}制作一份煎饼果子".format(self.formula))
# 获取私有属性值
def get_sal(self):
return self.__sal
# 接收参数,修改私有属性值
def set_sal(self, sal):
self.__sal = sal
# 定义一个子类Prentice,继承了父类Master
class Prentice(Master):
pass
# 实例化一个子类对象crystal
crystal = Prentice()
crystal.make_cake()
# 获取私有属性值
print(crystal.get_sal())
출력은 다음과 같습니다.
[古法]按照古法煎饼果子配方制作一份煎饼果子
10000