一年目エンジニア

n年目です。

python クラスの継承

クラスの継承

クラスの内容(メソッド、定義)は、子クラスに引き継ぐ(継承すること)ことができる。
引き継ぐためには、以下のように、子クラスの引数の中に親クラスの名前を入れでクラスを作成する。
以下、例。

#親クラス
class Parent():
	def PrintGreeting(self):
		print("どうもこんにちは。")
	def PrintWho(self):
		print("わたしは親です")
	
#子クラス
class Child(Parent):
	pass


次に、親クラス、子クラスのオブジェクトを作り、メソッドが子クラスに継承されていることを確認する。

#main_1-1.py
#親クラス
class Parent():
	def PrintGreeting(self):
		print("どうもこんにちは。")
	def PrintWho(self):
		print("わたしは親です。")
	
#子クラス
class Child(Parent):
	pass
	
suzuki_ichiro = Parent()		#親クラスのオブジェクト
suzuki_taro = Child()			#子クラスのオブジェクト


#内容確認
print("suzuki_ichiro.PrintGreeting():実行結果")
suzuki_ichiro.PrintGreeting()
print("suzuki_ichiro.PrintWho():実行結果")
suzuki_ichiro.PrintWho()	
print("suzuki_taro.PrintGreeting():実行結果")
suzuki_taro.PrintGreeting()	
print("suzuki_taro.PrintWho():実行結果")
suzuki_taro.PrintWho()	


'''	
【実行結果】
suzuki_ichiro.PrintGreeting():実行結果
どうもこんにちは。
suzuki_ichiro.PrintWho():実行結果
わたしは親です
suzuki_taro.PrintGreeting():実行結果
どうもこんにちは。
suzuki_taro.PrintWho():実行結果
わたしは親です
'''

上記の結果から、子クラスでメソッドを再度定義しなくても継承されていることが分かる。
ただし、このままだと[親クラス]=[子クラス]となるので、分けた意味がないため[オーバーロード]などを使用して、
子クラスを親クラスと違った機能を持たせたりする。


入門 Python 3