乃木坂46でクラスの継承を勉強する
はじめに
乃木坂46のメンバーで「自転車を運転する」、「自転車にブレーキをかける」というクラスを実装し、継承させて「電動自転車を運転する」というクラスを作ります。
自転車クラス
自転車クラスのソースコードです
class Bycycle:
# コンストラクタ
def __init__(self,name="人"):
self.__name = name
# getter Div
# getter name
@property
def getName(self):
return self.__name
@getName.setter
def setName(self,set_name):
if len(set_name) > 0:
self.__name = set_name
def riding(self,set_name):
print(f"{set_name}は自転車を漕ぐ")
def breaking(self,set_name):
print(f"{set_name}はブレーキをかけて止まる")
電動自転車クラス
次に自転車クラスを継承させて電動自転車クラスを実装します。
from bycycle import Bycycle
class ElectricBycycle(Bycycle):
def electronic_ride(self,set_name):
print(f"{set_name}は電動自転車を漕ぐ")
インスタンスを作って実行したソースコード
次に自転車クラス、電動自転車クラスからインスタンスを呼び出し、実行するソースコードです
from bycycle import Bycycle
from bycycle_electrnic import ElectricBycycle
by1 = Bycycle("梅澤美波")
by1.setName = "山下美月"
driver_name1 = by1.getName
by1.riding(driver_name1)
by1.breaking(driver_name1)
by2 = Bycycle()
by2.setName = ""
driver_name2 = by2.getName
by2.riding(driver_name2)
by2.breaking(driver_name2)
eby = ElectricBycycle()
eby.setName = "久保史緒里"
driver_name3 = eby.getName
eby.riding(driver_name3)
eby.breaking(driver_name3)
eby.electronic_ride(driver_name3)
実行した結果
実行した結果の画像です。
最後に
クラスの継承は、「差分プログラミング」 と呼ばれる、元のクラスから差分のメソッドを追加して実装するので楽ですね。