07/02/25 18:05:34
python による Chain Of Responsibility
URLリンク(www.h3.dion.ne.jp)
(まだ説明もなにもないけど、のんびり説明も書いていくつもり。
ちなみに、結城浩氏の本の Chain Of Responsibility パターンの
サンプル・コードを、python で同じように動くようにしたもの)
Javaと同じく継承で作ってみたけれど、やってみるまで僕も気がつかなかったが、
Python の継承はJava より制限が厳しく、サブクラスでJavaのように
拡張できない。
(__init__ を拡張すると、親クラスのメンバーでなくなってしまうようだ)
だから、__init__ のフィールド項目を後で増やすとか出来なくて、
親クラスで最初に全部書いておく必要がある。
(これが出来ないと非常に困る。特にこの Chain Of Responsibility では)
これではあまりにやりにくいため、
継承ではなく、すべて委譲で作り直さないといけないなぁと
思った次第。少し休んで取り組みたい。