Quando dizemos composição de objetos, significa a ligação com uma classe para outra? Ex:
contaDoPaulo.titular = paulo;
conta.setTitular(paulo);
Esses dois estamos fazendo a composição de objetos ?
Quando dizemos composição de objetos, significa a ligação com uma classe para outra? Ex:
contaDoPaulo.titular = paulo;
conta.setTitular(paulo);
Esses dois estamos fazendo a composição de objetos ?
Olá, deixa eu ver se eu entendi...
Nesses dois exemplos, ambos fazem a mesma ação, o que mudaria são os modificadores para que a primeira linha funcione normalmente.
Em:
contaDoPaulo.titular = paulo;
você está atribuindo um valor ao titular, através de outra classe, nesse caso, quando declarado o titular na primeira classe, a mesma só poderia ser atribuída em outra sendo a variavel public. ex:
public String titular;
Sendo assim, na primeira linha você definiu que o titular é paulo, mesmo sendo atribuida através de outra classe, naquela que você declarou o valor será paulo
Já segunda linha, a variável titular provavelmente foi criada como private ou protected na primeira classe, podendo ser acessada, e atribuída em outras classes através dos getters e setters, como no seu exemplo.
Quando você define através do setTitular que o valor é paulo, ele não altera o valor na classe que foi declarada, como na primeira linha. Nesse caso ele vai atribuir o valor na instancia que você criou a partir da classe, protegendo o valor inicial da primeira classe, podendo guardar vários valores a partir de varias instancias! Ex: digamos que você fez isso:
Conta conta = new Conta();
conta.setTitular("paulo");
o valor será da conta e não da classe Conta
Que também poderia ser:
Conta contaDaJade = new Conta();
contaDaJade.setTitular("jade");
Atribuindo como titular jade, mas somente na instância contaDaJade, o valor da classe Conta permanece o mesmo.