1
resposta

[Dúvida] Herança e override?

Fiquei com um pouco de duvida em geral em relação a herança multipla

em relação a o restante consegui entender um pouco

Outra coisa na classe contaPoupanca fez um override no metodo sacar correto?

1 resposta

Oi, Levi! Tudo bem?

Em Java, a herança múltipla não é permitida diretamente, o que significa que uma classe não pode herdar de mais de uma classe ao mesmo tempo. Por exemplo, o código abaixo não pode ser válido em Java:

public class ContaPoupanca extends Conta, Pagamento {
  // código da classe omitido
}

No entanto, podemos simular herança múltipla utilizando interfaces, que permitem definir métodos que devem ser implementados pelas classes que "herdam" essas interfaces, como no exemplo abaixo:

public interface Pagamento {
  void processarPagamento(double valor);
}

public class ContaPoupanca extends Conta implements Pagamento {
  @Override
  public void processarPagamento(double valor) {
    // implementação do método
  }
}

Em relação ao override no método sacar da classe ContaPoupanca, é isso mesmo. Na classe ContaPoupanca, o método sacar foi sobrescrito (override) da classe Conta. A sobrescrita de métodos é uma forma de modificar o comportamento de um método herdado de uma superclasse. No exemplo, o método sacar na classe ContaPoupanca adiciona uma taxa de saque antes de chamar o método sacar da superclasse Conta:

public class ContaPoupanca extends Conta {

  private double taxaDeJuros;

  public void calcularJuros() {
    double juros = this.getSaldo() * taxaDeJuros;
    System.out.println("Juros atual: " + juros);
  }

  @Override
  public void sacar(double valor) {
    double taxaSaque = 0.01;
    super.sacar(valor + taxaSaque); // Chama o método sacar da superclasse Conta
  }
}

No método sacar da ContaPoupanca, adicionamos uma taxa de saque (taxaSaque) ao valor que está sendo sacado e, em seguida, chama o método sacar da superclasse (super.sacar(valor + taxaSaque)), o que evita a duplicação de código e adiciona a funcionalidade específica da ContaPoupanca.

Espero ter ajudado!

Um forte abraço e bons estudos!