Pythonトレーニング


6.2.2 メソッドのオーバーライド

# スーパークラスの定義
class Circle:
    # クラス変数の定義
    PI = 3.14
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        # スーパクラスのインスタンス変数radiusとクラス変数PIを使用して計算
        return self.radius * self.radius * Circle.PI
# サブクラスの定義
class Cilinder(Circle):
    # 初期化メソッドをオーバライド
    def __init__(self, radius, height):
        # スーパークラスの初期化メソッドを呼び出し
        super().__init__(radius)
        self.height = height

    def volume(self):
        return self.area() * self.height