Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida exercício 1 Aula 3

Pessoal, gostaria de saber porque minha classe ContaCorrente não funciona

public class ContaCorrente extends Conta{

public ContaCorrente(String nome, double saldo, int agencia) { // TODO Auto-generated constructor stub }

}

eu chamo o construtor assim como na classe pai Conta e o Eclipse fica sugerindo recriar o construtor com os mesmos parâmetros. No NetBeans roda normal meu código, no eclipse ele não compila.

4 respostas
solução!

Boa tarde Mariana,

Porque você recebe parâmetro no construtor da ContaCorrente, mas não faz nada com eles?

Se vai ter este construtor que recebe parâmetros, sete eles nos atributos, ou passe para o super(), caso a classe mãe Conta tenha um construtor que recebe estes mesmos parâmetros. Se não vai usar assim, e vai instanciar e dar set depois, então não declare este construtor em ContaCorrente.

Caso ao ajustar isso seu problema ainda persista, peço que poste o código de todas classes envolvidas, no caso Conta, ContaCorrente, e sua classe com o método main testando.

Lembre-se de colar código nos posts usando a formatação, para ficar mais legível.

Obrigada, Emerson! Foi falta de atenção minha mesmo!

public class Conta {
    protected double saldo;
    protected String nome;
    protected int agencia;

    public Conta(String nome, double saldo, int agencia) {
        this.saldo = saldo;
        this.nome = nome;
        this.agencia = agencia;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public int getAgencia() {
        return agencia;
    }
    public void setAgencia(int agencia) {
        this.agencia = agencia;
    }
    public double getSaldo() {
        return saldo;
    }
public void atualiza(double taxa) {
    this.saldo += this.saldo * taxa;
    }
public void saca(double valorASerSacado){
    if (valorASerSacado >= this.saldo) {
    System.out.println("Saldo insuficiente para saque!");
} else {
    this.saldo = this.saldo - valorASerSacado;
}
    }
    public void imprime() {
        System.out.println(nome);
        System.out.println(agencia);
        System.out.println(saldo);
    }
}


public class ContaCorrente extends Conta{

    public ContaCorrente(String nome, double saldo, int agencia) {
        super(nome, saldo, agencia);
    }
}


public class ContaPoupanca extends Conta{

    public ContaPoupanca(String nome, double saldo, int agencia) {
        super(nome, saldo, agencia);
    }
    public void atualiza(double taxa){
        this.saldo += this.saldo * taxa * 3;
    }
}


public class TestaConta {
    public static void main(String[] args) {

        Conta conta = new Conta("Mauricio", 400.5, 123);
        ContaCorrente cc = new ContaCorrente("Mariana", 300.0, 154);
        ContaPoupanca cp = new ContaPoupanca("Luíz", 585.0, 187);


        conta.imprime();
        cc.imprime();
        cp.imprime();        
    }
}

Olá bom dia,

Isso é normal, fique tranquila. Precisando, só postar que sempre terá alguém pra ajudar.

Bons estudos, abraço.