透過繼承重用程式碼

案例研究:用 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 建構軟體

其他繼承型態

  • 多層繼承
    • 類別繼承自另一個類別的子類別
    • 案例研究用到:BasicCalculatorFinancialCalculatorMortgageCalculator
  • 階層式繼承
    • 多個類別繼承同一個父類別
  • 多重繼承
    • 類別同時繼承兩個以上無關的類別
案例研究:用 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...