2015年11月2日 11:00
Pythonで学ぶ 基礎からのプログラミング入門 (24) オブジェクト指向について学ぼう(6)
ただ、問題となるのはなぜそのようなことをするのかだと思います。
たとえば先程の例であれば、わざわざクラスAを作って、クラスBに継承させるなどという面倒なことをせず、いきなり定義してしまえばよいです。たとえば以下のようなコードを書くと、先ほどのクラスAなしで、クラスBに先ほどとまったく同じことをさせることができます。
class ClassB:
def __init__(self):
self.var_a = ’class a’
self.var_b = ’class b’
def print_a(self):
print(’this method is defined in ’ + self.var_a)
def print_b(self):
print(’this method is defined in ’ + self.var_b)
print(’parent of ’ + self.var_b + ’ is ’ + self.var_a)
どうみてもこっちのほうがシンプルですよね。実際、今回のようなクラスA、Bの使い方はあくまでもサンプルであり、これが実コードであれば設計としてはナンセンスです。