Pythonでオブジェクト指向を知りたい
オブジェクト指向とは何なのか。それは、作法。と悟りを開きつつあります。
①カプセル化 - encapsulation(クラス)
class Example_class: # クラス _mem_var = "This is python's private style" # 外部参照不可 def example_method(self): print("it's over!")
ようはクラスでネスト(くくれ)って話なんだろ?
もちろん再利用云々もあるんだけど、元々はそれよりも"グローバル撲滅キャンペーン"の色が強かったらしい。まあ今は"再利用"自体が営業のバズワードっぽいけどね。
_付きはprivateとして扱え!という習慣です。基本的にPythonでは秘匿化を実装する予定はありません。ともかく蓋をしてしまうのもカプセル化なのです。
②ポリモーフィズム - Polymorphism(多用性)
class Example_base: word = "" def oprint(self): print(self.word) class Example_A(Example_base): word = "継承とは" class Example_B(Example_base): word = "ちょっと違う" def main(): Example_A().oprint() # 継承とは Example_B().oprint() # ちょっと違う
なんかぁ、部品の共通化でぇ、どれでやっても一緒じゃん?みたいなことが言いたいらしい…感じ?
型でメソッドの動作が違うとかも該当するらしいんだけど、型…ねぇ…。
そもそも+や*がポリモーフィズムなんだと。確かに!…これ自分で実装するのがポリモーフィズムなのか?
と???が頭から消えないがそんなに重要でもないような(放棄)
継承 - inheritance
class A: pass class A_plus(A): pass
例を作るの飽きました。
共通化できるところはしていきたいと思っていますが、ワンオフしか書いてないのであんまりしないっすね継承。
というわけで全く参考にならないエントリーでした…。