LoginSignup
3
4

【python】乃木坂46でクラスの継承を勉強する②

Last updated at Posted at 2024-02-28

はじめに

以前公開した下記の記事でアドバイスしていただいた部分を修正するソースコードを公開します。

自転車クラス

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()

実行結果

result1.jpg

最後に

むしろ修正したソースコードの方がすっきりしますね。

3
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4