Herança reutiliza código

Estudo de Caso: Construindo Software em Python

Mark Pedigo

Principal Data Scientist

Roteiro

Roteiro mostrando o que já foi concluído no projeto e o que vamos iniciar.

Estudo de Caso: Construindo Software em Python

Revisão do que você construiu até aqui

  • BasicCalculator()
    • Operações aritméticas básicas
  • FinancialCalculator
    • Herda de BasicCalculator
    • Método para cálculo financeiro
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)
    ...
Estudo de Caso: Construindo Software em Python

Herança reutiliza código

  • Herança para reutilizar código
    • Reutilize código da classe pai
  • Hierarquia de classes
    • Herde de filho para "neto"
  • Estrutura flexível
    • Desenvolva uma hierarquia flexível e organizada
Estudo de Caso: Construindo Software em Python

Outros tipos de herança

  • Herança multinível
    • Classe herda de uma subclasse de outra classe
    • Usada no estudo de caso — de BasicCalculator a FinancialCalculator a MortgageCalculator
  • Herança hierárquica
    • Múltiplas classes herdam da mesma classe pai
  • Herança múltipla
    • Classe herda de duas ou mais classes não relacionadas
Estudo de Caso: Construindo Software em Python

Usando super()

  • Acesse métodos e propriedades da classe pai
    • Use super() sem nomear diretamente a classe pai
  • Lida com heranças complexas
    • Evita duplicação de código e erros em hierarquias
class Animal:
    def __init__(self, name):
        self.name = name
class Dog(Animal):
    def __init__(self, name):
          # super chama o método 
          # __init__ da classe pai
          super().__init__(name)
Estudo de Caso: Construindo Software em Python

Vamos praticar!

Estudo de Caso: Construindo Software em Python

Preparing Video For Download...