1.カプセル化の意味
-
属性とメソッドを全体としてまとめてから、オブジェクトをインスタンス化して処理します。
-
内部実装の詳細を非表示にします。オブジェクトとその属性およびメソッドを操作するだけで済みます。
-
追加2.クラスの属性とメソッドへのアクセス典拠コントロール。
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