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

Construtor da classe Conta

Ola,

Verifiquei que o codigo não compila caso o construtor default da classe Conta não tenha atributos nos parametros do construtor.

Fiz a alteração e então as classes ContaCorrente e ContaPoupanca voltaram a funcionar.

Sendo assim, o código abaixo está correto?

package herancas;

public class Conta {

    private double saldo;
    private int agencia;
    private int numero;
    private static int total = 0;

    public Conta(int agencia, int numero) {}
}
public class ContaPoupanca extends Conta {

    public ContaPoupanca(int agencia, int numero) {
        super(agencia, numero);
    }

}
public class ContaCorrente extends Conta {

     public ContaCorrente(int agencia, int numero) {
         super(agencia, numero);
     }
}

Obrigado

3 respostas
solução!

Bom dia John.

O código das classes ContaCorrente e ContaPoupanca estão corretos, em seus construtores elas recebem o número da agência e o número da conta, depois chamam o construtor da classe mãe (Conta) com o super, passando esses argumentos para ela.

Perceba que no construtor da classe Conta você tem os parâmetros agencia e numero, mas não está fazendo nada com eles:

public Conta(int agencia, int numero) {}
}

O correto seria:

public Conta(int agencia, int numero){
        Conta.total++;

        this.agencia = agencia;
        this.numero = numero;
    }

Aqui você está atribuindo para o objeto criado o numero e agencia recebidos via construtor.

Além disso coloquei o

Conta.total++;

atributo estático que você criou. Toda conta criada será atribuído +1 ao total, que é o total de contas criadas.

Espero que tenha entendido, caso fique alguma dúvida me informe.

Olá John,

Seu código está correto exceto pelo construtor da classe Conta, pois você está passando os parâmetros agencia e numero e não está atribuindo eles a classe Conta. Deveria ser algo como:

package heranca;

public class Conta {

    private double saldo;
    private int agencia;
    private int numero;
    private static int total = 0;

    public Conta(int agencia, int numero) {
        this.agencia = agencia;
        this.numero = numero;
    }


}

Espero ter ajudado.

Obrigado pessoal.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software