タグ付けされた質問 「information-hiding」

12
Pythonの「プライベート」メソッドが実際にはプライベートではないのはなぜですか?
Pythonでは、次のように、名前の前に2つのアンダースコアを付けることで、クラス内に「プライベート」メソッドと変数を作成できます__myPrivateMethod()。それでは、これをどのように説明できますか >>> class MyClass: ... def myPublicMethod(self): ... print 'public method' ... def __myPrivateMethod(self): ... print 'this is private!!' ... >>> obj = MyClass() >>> obj.myPublicMethod() public method >>> obj.__myPrivateMethod() Traceback (most recent call last): File "", line 1, in AttributeError: MyClass instance has no attribute '__myPrivateMethod' >>> dir(obj) ['_MyClass__myPrivateMethod', …

22
抽象化VS情報隠蔽VSカプセル化
ソフトウェア開発における抽象化と情報隠蔽の違いは何ですか? 私は混乱しています。抽象化は詳細な実装を隠し、情報を隠すことは何かの詳細全体を抽象化します。 更新:これらの3つの概念に対する良い答えを見つけました。そこから引用されたいくつかの引用については、以下の個別の回答を参照してください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.