Moștenirea reutilizează codul

Studiu de caz: Construirea de software în Python

Mark Pedigo

Principal Data Scientist

Foaie de parcurs

Foaie de parcurs care arată ce părți ale proiectului am finalizat și pe care le vom începe.

Studiu de caz: Construirea de software în Python

Recapitulare a ceea ce ați construit până acum

  • BasicCalculator()
    • Operații aritmetice de bază
  • FinancialCalculator
    • Moștenește din BasicCalculator
    • Metodă pentru calcule financiare
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)
    ...
Studiu de caz: Construirea de software în Python

Moștenirea reutilizează codul

  • Moștenire pentru reutilizarea codului
    • Reutilizați codul dintr-o clasă părinte
  • Ierarhie de clase
    • Moștenire de la clasă copil la clase „nepot"
  • Structură flexibilă
    • Dezvoltați o ierarhie de clase flexibilă și organizată
Studiu de caz: Construirea de software în Python

Alte tipuri de moștenire

  • Moștenire pe mai multe niveluri
    • O clasă moștenește dintr-o subclasă a altei clase
    • Folosit în studiul de caz - BasicCalculator la FinancialCalculator la MortgageCalculator
  • Moștenire ierarhică
    • Mai multe clase moștenesc din aceeași clasă părinte
  • Moștenire multiplă
    • O clasă moștenește din două sau mai multe clase neînrudite
Studiu de caz: Construirea de software în Python

Utilizarea super()

  • Accesați metodele și proprietățile părintelui
    • Utilizați super() fără a numi direct clasa părinte
  • Gestionează moșteniri complexe
    • Previne duplicarea codului și erorile în ierarhii
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)
Studiu de caz: Construirea de software în Python

Să exersăm!

Studiu de caz: Construirea de software în Python

Preparing Video For Download...