1
resposta

Java OO: Introdução à Orientação a Objetos - Getters e Setters de referência

E ai galera não entendi muito bem a explicação da aula, tenho esse bloco de código. Na ultima linha eu crio uma referencia do tipo CLIENTE e atribuo a minha variável titularConta e digo que ela irá receber = conta.getTitula(). Quando eu dou = conta.getTiula() o que acontece com a minha variável, ela se converte para o tipo Conta?

public static void main(String[] args) {        

Conta conta = new Conta();

Cliente paulo = new Cliente(); 
conta.setTitula(paulo);
Cliente titularDaConta = conta.getTitula();

System.out.println(paulo);

System.out.println(titularDaConta); 

System.out.println(conta.getTitula());

Conta x = new Conta();
conta.setTitula(paulo);
Cliente titularConta = conta.getTitula();


}
1 resposta

Olá Thailan

Vou deixar uns comentários no código pra ver ajuda na compreensão.

public static void main(String[] args) {
    Conta conta = new Conta(); // referência conta aponta pra um novo objeto do tipo Conta

    Cliente paulo = new Cliente(); // referência paulo aponta pra um novo objeto do tipo Cliente

    conta.setTitula(paulo);  // chama o método setTitula do objeto passando o a referência paulo, assim o atributo titular de conta aponta pro mesmo objeto que a variável paulo

    Cliente titularDaConta = conta.getTitula(); // conta.getTitula() pega o objeto apontado pelo atributo titula de conta. A referência titularDaConta aponta pra esse objeto, que é o mesmo apontado pela variável paulo

    System.out.println(paulo);
    System.out.println(titularDaConta); 
    System.out.println(conta.getTitula());

    Conta x = new Conta(); // referência x aponta pra um novo objeto do tipo Conta (diferente da Conta que foi criada lá em cima)

    x.setTitula(paulo); // chama o método setTitula do objeto passando o a referência paulo, assim o atributo titular de x aponta pro mesmo objeto que a variável paulo

    Cliente titularConta = x.getTitula(); // x.getTitula() pega o objeto apontado pelo atributo titular de x. A referência titularConta aponta pra esse objeto, que é o mesmo apontado pela variável paulo
}

Ao final desse método, temos 2 Contas na memória, onde a variável conta aponta pra uma delas e x aponta pra outra.

Temos também a 1 objeto Cliente. Este é apontado pela variável paulo, pelo atributo titular de conta e, também, pelo atributo titular de x.

De início é complicado mesmo entender esse jogo de setas e apontamentos. Mas tente entender o que acontece com cada referência e poste aí as dúvidas que surgirem.