継承
継承とは、あるクラスを元に新たなクラスを作ることをいいます。
「class 新しいクラス名(元となるクラス名)
」と記述することで他のクラスを継承して、新しいクラスを定義することができます。この時、新しいクラスを子クラス
、元となるクラスを親クラス
と呼ばれます。
継承により、親クラスのインスタンスメソッドをそのまま子クラスでも使うことができます。
しかし、子クラスで定義したメソッドは親クラスでは使えないので注意が必要です。
script.py
from fruit import Fruit
fruit1 = Fruit('りんご', 200)
print(fruit1.info())
fruit_price.py
class FruitPrice:
def __init__(self, name, price):
self.name = name
self.price = price
def info(self):
return self.name + 'は' + str(self.price) + '円です'
fruit.py
from fruit_price import FruitPrice
class Fruit(FruitPrice):
pass
出力結果
りんごは200円です
上記のように、継承させることで親クラスのインスタンスメソッドであるinfo
メソッドを子クラスで使うことができました。
まず、script.py
でFruit
クラスを呼び出すことで、fruit.py
内のFruit
クラスを呼び出します。この時、Fruit
クラス(子クラス)はfruit_price
内のFruitPrice
クラス(親クラス)を継承させているため、
親クラス内のinfo
メソッドを使うことができるので、Fruit
の引数である'りんご'
と200
を用いて出力結果を得ることができました。