7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2024-02-18

乃木坂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)

実行した結果

実行した結果の画像です。

result.jpg

最後に

クラスの継承は、「差分プログラミング」 と呼ばれる、元のクラスから差分のメソッドを追加して実装するので楽ですね。

7
8
2

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
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?