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

Orientação a objetos

Boa tarde,

Uma dúvida de boas práticas, se eu tenho uma classe que depende de outra classe(ou de seus métodos) , o certo é passar como parâmetro um objeto da classe(que dentro da primeira classe, terá acesso ao que eu preciso) ou instanciar um objeto da classe necessária , chamar os métodos dele atribuindo seus resultados a variáveis e então passar essas variáveis como parâmetro?

Att.

5 respostas

E aí, João! Beleza, cara? =)

Acho que não entendi muito bem a sua dúvida, conseguiria refraseá-la e/ou colocar um exemplo para ilustrá-la? =D

Fábio

Fábio, primeiramente muito obrigado pela atenção. Então cara tenho uma classe A, que dentro de um método precisa de um valor , mas esse valor só é adquirido através da chamado de outro método de uma classe diferente, neste caso passo para a classe A como parâmetro o objeto que tem o método que eu preciso, ou instancio o objeto B , chamo o método passando o retorno para uma variável e então passo essa variável para função?

Att.

OBS:Se mesmo assim não fui claro cara , só me dizer que eu faço um exemplo.

solução!

João,

Sem problemas! Acho que agora consegui entender sua questão.

Então, cara... Pensando um pouco nesse caso, me parece que a classe A depende da classe B, faz sentido para você?

Se isso ocorre, podemos utilizar o que chamamos de injeção de dependência! Basicamente, se A depende de B, não faz sentido criarmos um objeto do primeiro tipo, sem antes ter criado o segundo. Então você pode injetar essa dependência no construtor:

public class A {
  private B b;

  public A(B b) {
    this.b = b;
  }

  // Restante do código...
}

Conseguiu entender a ideia? =)

Espero ter ajudado!

Fábio

Boa tarde ,

Muito obrigado Fábio, entendi sim, acabei de estudar orientação a objetos e vou partir para SOLID e depois Design patters (não tenho certeza de como escrever essa kkkk), esse conceito de dependência estará contido nesses assuntos , ou tem alguma dica de estudo? Att.

João,

Perfeito, cara! Excelente ideia... Rs.

Acredito que você chegará a ver injeção de dependências, sim... =)

Fábio