私有財産と私的メソッド
1.アプリケーションシナリオと定義方法
アプリケーションシナリオ
- 実際の開発では、一部のプロパティまたはメソッドのオブジェクトは、外部からアクセスできることを望まず、オブジェクト内でのみ使用されることを望んでいる場合があります。
- プライベートプロパティであるオブジェクト公開したくないプロパティを
- プライベートメソッドは、あるオブジェクトを開示したくない方法を
定義方法
- でプロパティやメソッドの定義、以前のプロパティ名やメソッド名高めるために2つのアンダースコアを、の定義であるプライベートプロパティまたはメソッド
class Women:
def __init__(self, name):
self.name = name
# 不要问女生的年龄
self.__age = 18
def __secret(self):
print("我的年龄是 %d" % self.__age)
xiaofang = Women("小芳")
# 私有属性,外部不能直接访问
# print(xiaofang.__age)
# 私有方法,外部不能直接调用
# xiaofang.__secret()
2.疑似プライベート属性とプライベートメソッド
ヒント:日常の開発では、このメソッドを使用してオブジェクトのプライベートプロパティまたはプライベートメソッドにアクセスしないでください
Python
、本当のプライベート感はありません
- プロパティの付与、メソッドの命名は、特別な処理を行うための実際の名前であるため、外部はアクセスできません。
- 治療:前の名前で
_类名
=>_类名__名称
# 私有属性,外部不能直接访问到
print(xiaofang._Women__age)
# 私有方法,外部不能直接调用
xiaofang._Women__secret()