| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/09/2007 17:26:35
|
analyser
JavaEvangelist
![[Avatar]](/images/avatar/d5e9d9e23447e1907c70ac5d9b29edcc.jpg)
Membro desde: 26/02/2007 09:31:49
Mensagens: 329
Offline
|
Olá galera
Bem, duvida simples, tenho uma Classe, quero obrigar o usuário que queira utilizar algum metodo da minha classe, implementar uma Interface que criei.
Abraços
|
Analyser |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/09/2007 17:31:50
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
Impossivel....
tu pode é ter uma classe abstrata e delegar os métodos que tu quer que os filhos dela implentem.... mas não é o mesmo conceito.
com uma análise de conceito bem detalhada tu pode chegar a uma melhor maneira de fazer isso.
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/09/2007 17:38:25
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
analyser wrote:
Bem, duvida simples, tenho uma Classe, quero obrigar o usuário que queira utilizar algum metodo da minha classe, implementar uma Interface que criei.
Método 1 - Ameace processar o seu usuário se ele não implementar a tal interface.
Método 2 - Os parâmetros de seus métodos devem aceitar apenas parâmetros que implementam a tal interface. Exemplo:
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/09/2007 10:04:17
|
mcbarsotti
JavaEvangelist
![[Avatar]](/images/avatar/41d80bfc327ef980528426fc810a6d7a.jpg)
Membro desde: 11/05/2006 12:10:38
Mensagens: 329
Offline
|
se o usuario que vc está se referindo é o programador, voce pode via reflection resolver isso...
A_Classe_Que_É_Obrigada_a_Implementar_sua_interface.class.getInterfaces();
ai vc vai pegar todas as interfaces que sua classe implementa, ai é só fazer sua verificação.
boa sorte!!
|
Obs.: O texto acima não é uma verdade soberana, não precisa cortar os pulsos caso não concorde.
[]'s |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/09/2007 10:18:31
|
gomesrod
GUJ Ranger
![[Avatar]](/images/avatar/5de6755473dc988fe6c7db81f26a53ac.jpg)
Membro desde: 11/05/2007 19:46:22
Mensagens: 901
Offline
|
Você pode utilizar o stack trace para saber a classe que chamou o seu método. Não tenho à mão o procedimento, mas acho que a partir dessa informação é possível pesquisar algo a respeito... (Aliás, na revista Mundo Java do mes passado isso é colocado em detalhes).
Tendo em mãos a classe que chamou o método, use Reflection (como foi dito acima) para descobrir se ela implementa sua interface.
This message was edited 1 time. Last update was at 26/09/2007 10:20:29
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/09/2007 14:15:16
|
dipeloco
JavaChild
![[Avatar]](/images/avatar/6b59f92676fd007e9cc45d7f3fdd51f4.png)
Membro desde: 21/05/2007 12:14:11
Mensagens: 123
Offline
|
Você poderia utilizar AOP e dizer em um aspecto que todas as classes de determinado pacote devem implementar uma interface ...... ou até mesmo usar regras do PMD para isso
|
|
|
 |
|
|