継承 on Python
- Ubuntu 10.10
Python 2.6
■プログラム(TestInheritance.py)
#-------------------- # 継承 #-------------------- # 親クラスその1 class Oya_A(object): val = "AAAAA" def __init__(self): print "oya_A:init" def oyako(self): print "oya :" + self.val # 親クラスその2 class Oya_B(object): val = "BBBBB" def __init__(self): print "oya_B:init" # 継承したクラス class Ko_C(Oya_A): ''' Oya_Aクラスを継承''' # 変数のオーバーライド val = "CCCCC" # メソッドのオーバーライド def oyako(self): print "ko" # 親クラスの属性を使用する def call_oya(self): super(Ko_C, self).oyako() a = Oya_A() # oya_A:init b = Oya_B() # oya_B:init c = Ko_C() # oya_A:init c.oyako() # ko c.call_oya() # oya :CCCCC # オブジェクトのデータ型を確認する # オブジェクトがデータ型のインスタンスか、データを継承したデータ型のインスタンスであればTrue print isinstance(c, Oya_A) # True print isinstance(c, Oya_B) # False # 多重継承 class Ko_D(Oya_A, Oya_B): pass