はじめに
以前公開した下記の記事でアドバイスしていただいた部分を修正するソースコードを公開します。
自転車クラス
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 ride(self):
print(f"{self.__name}は自転車を漕ぐ")
def breaking(self):
print(f"{self.__name}はブレーキをかけて止まる")
電動自転車クラス
from bycycle import Bycycle
class ElectricBycycle(Bycycle):
def __init__(self, name="人"):
self.__name = super().__init__(name)
def electronic_ride(self):
print(f"{self.__name}は電動自転車を漕ぐ")
インスタンスを作って実行したソースコード
from bycycle import Bycycle
from bycycle_electrnic import ElectricBycycle
by1 = Bycycle("梅澤美波")
by1.setName = "山下美月"
driver_name1 = by1.getName
by1.ride()
by1.breaking()
by2 = Bycycle()
by2.setName = ""
driver_name2 = by2.getName
by2.ride()
by2.breaking()
eby = ElectricBycycle("")
eby.setName = "久保史緒里"
driver_name3 = eby.getName
eby.ride()
eby.breaking()
eby.electronic_ride()
実行結果
最後に
むしろ修正したソースコードの方がすっきりしますね。