Sobrecarga de método com herança(sem reescrita de código) [Resolvido]

2 respostas
andre_aranha

Boa tarde pessoal!

Estou com uma dúvida e não encontrei a resposta em outros tópicos.
É o seguinte:

Tenho uma classe “Conta” e 2 classes filhas, sendo “ContaCorrente” e “ContaPoupanca”.
Na classe mãe, tenho um método para impressão dos dados “Extrato()”.
Cada uma das filhas tem um atributo próprio e têm em comum o atributo “saldo”, herdado da mãe.
Na classe mãe, o método imprimirá apenas o “saldo”. Eu quero usá-lo nas classes filhas, imprimindo o saldo + o atributo específico de cada uma, mas sem ter
que reescrever o método todo. Existe alguma forma de fazer isso? Eu acredito que pelo conceito de polimorfismo seja possível, mas não soube aplicá-lo a este
caso.
Seguem os fontes básicos como exemplo:

public abstract class Conta{

    private double saldo;

    public double getSaldo(){

    return saldo;

    }

    public void extrato(){
    
        System.out.println("Saldo: " + this.saldo);
        
    }

public class ContaCorrente extends Conta{

    private double limite;

}

public class ContaPoupanca extends Conta{

    private double rendimento;

}

2 Respostas

rmendes08

No método das classes filhas você pode chamar o método da classe mãe através da referência [b]super[b];

class ContaCorrente{
    public void extrato(){
       super.extrato();
    }
}
andre_aranha

Obrigado rmendes08!

Verdade kra, era isso mesmo que eu estava querendo. Ajudou muito. Para não precisar reescrever o que já está escrito, fiz o seguinte:

Adicionei na classe “ContaPoupanca” o método:

public void extrato(){
    
        super.extrato();
        System.out.println("Rendimento: " + this.rendimento);
    
    }

E na classe “ContaCorrente”:

public void extrato(){
    
        super.extrato();
        System.out.println("Limite: " + this.limite);
    
    }

Funcionou bem. Novamente, obrigado.

Moderador, pode fechar kra. Valeu.

Criado 8 de março de 2012
Ultima resposta 8 de mar. de 2012
Respostas 2
Participantes 2