Overerving hergebruikt code

Casestudy: Software bouwen in Python

Mark Pedigo

Principal Data Scientist

Roadmap

Roadmap die laat zien welke delen van het project we hebben afgerond en welke we starten.

Casestudy: Software bouwen in Python

Wat je tot nu toe hebt gebouwd

  • BasicCalculator()
    • Basisbewerkingen
  • FinancialCalculator
    • Erf(t) van BasicCalculator
    • Methode voor financiële berekening
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)
    ...
Casestudy: Software bouwen in Python

Overerving hergebruikt code

  • Overerving voor hergebruik
    • Hergebruik code van een ouderklasse
  • Klassenhiërarchie
    • Van kind naar kleinkind erven
  • Flexibele structuur
    • Bouw een flexibele, overzichtelijke hiërarchie
Casestudy: Software bouwen in Python

Andere vormen van overerving

  • Meertraps overerving
    • Klasse erft van een subklasse van een andere klasse
    • Gebruikt in de case: BasicCalculatorFinancialCalculatorMortgageCalculator
  • Hiërarchische overerving
    • Meerdere klassen erven van dezelfde ouder
  • Meervoudige overerving
    • Klasse erft van twee of meer niet-verwante klassen
Casestudy: Software bouwen in Python

super() gebruiken

  • Toegang tot methoden en eigenschappen van de ouder
    • Gebruik super() zonder de ouderklasse te benoemen
  • Handelt complexe overerving af
    • Voorkomt code-dubbeling en fouten in klassendiagrammen
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)
Casestudy: Software bouwen in Python

Laten we oefenen!

Casestudy: Software bouwen in Python

Preparing Video For Download...