オブジェクト指向:Pythonのプライベート属性とプライベートメソッド

私有財産と私的メソッド

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()

おすすめ

転載: blog.csdn.net/david2000999/article/details/112918600