继承可复用代码

案例研究:用 Python 构建软件

Mark Pedigo

Principal Data Scientist

路线图

路线图,展示我们已完成的部分和即将开始的部分。

案例研究:用 Python 构建软件

回顾目前已构建内容

  • BasicCalculator()
    • 基本算术运算
  • FinancialCalculator
    • 继承自 BasicCalculator
    • 财务计算方法
class BasicCalculator:
  def multiply(self, x, y):
      result = x * y
      return result
  ...
# 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 调用父类的 __init__ 方法
          super().__init__(name)
案例研究:用 Python 构建软件

Passons à la pratique !

案例研究:用 Python 构建软件

Preparing Video For Download...