Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Referenciando outras instâncias

Eu fiz alguns testes criando outras classes e o que me pareceu mais prático foi instanciar assim como no exemplo abaixo:

public class Conta {

    double saldo;
    int agencia;
    int numero;
    Cliente titular = new Cliente();
    Endereco localidade = new Endereco();

Minha dúvida é, que problema eu posso ter fazendo isso e não da outra forma que seria instanciar na classe de teste?

1 resposta
solução!

Olá Rafael, tudo bem?

Em relação à outra forma, nenhum. A verdade é que ambas as formas estão desrespeitando as regras de negócio de um banco. Mas para entrarmos nessa discussão, precisamos, antes, entender o que é um construtor, assunto que veremos na última aula desse curso.

Mas basicamente, o construtor é uma operação especial que é executada no momento em que criamos um novo objeto. E ele permite que esse objeto receba dados no momento da instanciação! Ou seja - voltando às regras de negócio que eu comentei, suponha que em nosso banco não podemos ter uma Conta sem agencia e numero. Então através do construtor podemos obrigar o objeto do tipo Conta a receber valores que serão atribuídos a esses dois atributos no momento em que ele é instanciado.

O "problema" é que essas alterações fazem com que a forma como instanciamos um novo objeto também mude. Já que agora passaremos valores como parâmetro do construtor entre os parênteses de new Conta(). Ficando dessa forma, por exemplo:

Conta conta = new Conta(1111, 2222);

Veja que se fizéssemos o mesmo com Cliente e mudássemos a forma como ele é instanciado, isso quebraria esse trecho do código:

public class Conta {
    double saldo;
    int agencia;
    int numero;
    Cliente titular = new Cliente();
    Endereco localidade = new Endereco();

Pois agora o Cliente também poderia ter a necessidade de receber valores como parâmetro para poder se instanciado.

Não sei se consegui ser claro, mas o ideal é que você assista pelo menos a aula de construtores para que isso faça mais sentido. Caso não tenha ficado claro até lá, volta aqui no fórum que nós faremos o possível para ajudar! :D

Bons estudos!!

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