継承でコードを再利用

ケーススタディ:Pythonでソフトウェアを構築する

Mark Pedigo

Principal Data Scientist

ロードマップ

完了済みとこれから着手するプロジェクト部分を示すロードマップ。

ケーススタディ:Pythonでソフトウェアを構築する

これまでに作成したものの復習

  • BasicCalculator()
    • 基本的な四則演算
  • FinancialCalculator
    • BasicCalculator を継承
    • 財務計算用メソッド
class BasicCalculator:
  def multiply(self, x, y):
      result = x * y
      return result
  ...
# Child of BasicCalculator
class FinancialCalculator(BasicCalculator):
    def monthly_interest(self, annual_interest_rate):
        return self.divide(annual_interest_rate, 12)
    ...
ケーススタディ:Pythonでソフトウェアを構築する

継承でコードを再利用

  • 再利用のための継承
    • 親クラスのコードを再利用
  • クラス階層
    • 子から孫クラスへ継承
  • 柔軟な構造
    • 柔軟で整理されたクラス階層を設計
ケーススタディ:Pythonでソフトウェアを構築する

他の継承タイプ

  • 多段継承
    • あるクラスのサブクラスから継承
    • ケーススタディ: BasicCalculator → FinancialCalculator → MortgageCalculator
  • 階層継承
    • 複数のクラスが同一の親クラスを継承
  • 多重継承
    • 無関係な2つ以上のクラスから継承
ケーススタディ:Pythonでソフトウェアを構築する

super() の使用

  • 親クラスのメソッド・プロパティにアクセス
    • 親クラス名を直接書かずに super() を使用
  • 複雑な継承に対応
    • クラス階層での重複やミスを防止
class Animal:
    def __init__(self, name):
        self.name = name
class Dog(Animal):
    def __init__(self, name):
          # super calls __init__ 
          # method from parent class
          super().__init__(name)
ケーススタディ:Pythonでソフトウェアを構築する

練習しましょう!

ケーススタディ:Pythonでソフトウェアを構築する

Preparing Video For Download...