Dziedziczenie pozwala na ponowne użycie kodu

Studium przypadku: tworzenie oprogramowania w Pythonie

Mark Pedigo

Principal Data Scientist

Mapa drogowa

Mapa drogowa pokazująca ukończone i planowane etapy projektu.

Studium przypadku: tworzenie oprogramowania w Pythonie

Podsumowanie dotychczasowej pracy

  • BasicCalculator()
    • Podstawowe operacje arytmetyczne
  • FinancialCalculator
    • Dziedziczy po BasicCalculator
    • Metoda do obliczeń finansowych
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)
    ...
Studium przypadku: tworzenie oprogramowania w Pythonie

Dziedziczenie pozwala na ponowne użycie kodu

  • Dziedziczenie do ponownego użycia kodu
    • Ponowne użycie kodu klasy nadrzędnej
  • Hierarchia klas
    • Dziedziczenie od klas potomnych do „wnuczych"
  • Elastyczna struktura
    • Tworzenie elastycznej i uporządkowanej hierarchii klas
Studium przypadku: tworzenie oprogramowania w Pythonie

Inne typy dziedziczenia

  • Dziedziczenie wielopoziomowe
    • Klasa dziedziczy po podklasie innej klasy
    • Zastosowanie w projekcie: BasicCalculatorFinancialCalculatorMortgageCalculator
  • Dziedziczenie hierarchiczne
    • Wiele klas dziedziczy po tej samej klasie nadrzędnej
  • Dziedziczenie wielokrotne
    • Klasa dziedziczy po dwóch lub więcej niezwiązanych klasach
Studium przypadku: tworzenie oprogramowania w Pythonie

Użycie super()

  • Dostęp do metod i właściwości klasy nadrzędnej
    • Użycie super() bez podawania nazwy klasy nadrzędnej
  • Obsługuje złożone dziedziczenie
    • Zapobiega duplikacji kodu i błędom w hierarchiach klas
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)
Studium przypadku: tworzenie oprogramowania w Pythonie

Czas na ćwiczenia!

Studium przypadku: tworzenie oprogramowania w Pythonie

Preparing Video For Download...