Há alguma inconveniência em termos de performance ou algum outro motivo ao chamar um método de um objeto que faz parte dos atributos de um outro objeto, passando para o método o próprio objeto chamador?
se objetoA tem nele tudo o que precisa pra executar imaginando que A é composto por B e mais outros atributos
A
andredf
digaoneves:
por que o metodoB tem que receber objetoA?
se objetoA tem nele tudo o que precisa pra executar imaginando que A é composto por B e mais outros atributos
Mesmo B sendo um objeto à parte?
Ou seja, a definição de B não está contida em A.
Rodrigo_Sasaki
como não se A contém B?
todos os atributos necessários de A e B, você consegue acessar por A…
é igual pensar em composição por partes de carro (algumas pessoas não gostam disso, mas as vezes clarifica)
Carro é composto por portas, rodas, motor, etc.
o carro não tem acesso a tudo?
A
andredf
digaoneves:
como não se A contém B?
todos os atributos necessários de A e B, você consegue acessar por A…
é igual pensar em composição por partes de carro (algumas pessoas não gostam disso, mas as vezes clarifica)
Carro é composto por portas, rodas, motor, etc.
o carro não tem acesso a tudo?
Talvez eu tenha me expressado de forma incompleta.
Eu quero delegar uma tarefa a B e não executá-la em A.
Para executar em A, eu poderia acessar os atributos de B perfeitamente.
Mas e como fazer para B executar a tarefa que é dependente de outros atributos de A?
Rodrigo_Sasaki
você pode enviar os atributos do A, e pode também enviar A como tem feito, é perfeitamente possível…
mas dependendo do caso pode não ser a maneira mais limpa de fazer.