-uma interface A com o método fazAlgo()
-uma classe B que implementa A
-Uma classe C que usa:
A interface = new B();
interface.fazAlgo();
Sei que ao segurar Ctrl e clicar em algum método, por exemplo, o Eclipse abre a aba de onde o método vem.
No meu caso, se eu clicar no “fazAlgo()” da classe C, o Eclipse me direciona para A.
Há alguma maneira fácil de fazer com que o Eclipse me direcione para a classe B de forma automática.
É que em um projeto grande, isso fica chato. Tem que ficar procurando nos pacotes onde está a bendida implementação que está sendo chamada. E se trocar a referência para o tipo concreto, acaba perdendo-se a abstração…
Bom, enquanto escrevia lembrei que não deve dar, já que em tempo de compilação, não dá para saber qual “fazAlgo()” será executado, se da classe B ou de outra classe que também implementa A. De qualquer forma, estou postando, vai que há alguma maneira mais simples de resolver isso hehe
[quote=luistiagos]não tem como…
só tem como saber que classe extende de certa interface em tempo de execução… isso e uma desvantagem em programar com interfaces…[/quote]
Isso não é possível justamente pelo objetivo de se programar com interfaces, que é não conhecer sua implementação.
Lógico que nesse caso você sabe pois é você mesmo quem está desenvolvendo a classe que implementa.
Isso não é possível justamente pelo objetivo de se programar com interfaces, que é não conhecer sua implementação.
Lógico que nesse caso você sabe pois é você mesmo quem está desenvolvendo a classe que implementa.[/quote]
Se quer abrir a implementação é porque de alguma forma ela está no projecto. O eclipse é esperto para conhecer as implementações de determinada interface.
O atalho CTRL T em cima de um método de um interface mostra as implementações dessa interface que o eclipse conhece.
Eu estava usando o Ctrl + T errado. Vi aqui e dá certo pro propósito que coloquei no tópico inicial!
Só não citei que há uma classe abstrata entre a interface e a classe que implementa os métodos hehe achei que isso seria irrelavente, mas acontece que com o Ctrl+T eu acabo indo pra classe abstrata, e não à classe que eu queria, mas já é um caminho…