Gostaria de saber como restringir o acesso de uma classe em relação a uma outra classe!
De modo que:
Sejam A, B e C classes distintas e sejam a1, a2, a3, a4 métodos publicos da classe A.
Como estabelecer que B consiga acessar somente os métodos a1 e a2, e C somente o método a4?
Se métodos a1, a2 , a3 e a4 são public, não tem como os mesmos serem privados para c. Dois modificadores de acesso ao mesmo tempo, meio contraditório. Pense um pouco mais na estrutura de suas classes. Será que elas estão coesas(funcionalidade bem definida) , bem projetadas ??
vlw
M
marcostahara
Eu nunca vi algo parecido com isso, mas neste contexto vc pode fazer uma verificação dentro do método, se tal classe pode executar o restante do código utilizando o instanceof, por exemplo:
publicvoida1(Objectobj){if(objinstanceofClasseB)System.out.println("Só a Classe B executa esta linha");}
porém vc não existe a possibilidade de vc impedir que a classe C chame tal método.
[]'s
vauxsandino
Obrigado pela resposta.
Rapaz um colega meu que me falou sobre essa função da linguagem java.
Falou que bastava incluir um código antecedido de um caractere especial (@ talvez) antes da definição da função.
Estou fazendo a base do jogo e existem classes comuns ao servidor e ao usuário,
mas algumas funções dessa mesma classe eu não gostaria que as classes do usuário acessassem.
Lembro-me que ele (meu colega) falou a respeito dessa função em relação ao JSP, creio que deve haver algo para JSE.
valew.
vauxsandino
marcostahara:
Eu nunca vi algo parecido com isso, mas neste contexto vc pode fazer uma verificação dentro do método, se tal classe pode executar o restante do código utilizando o instanceof, por exemplo:
publicvoida1(Objectobj){if(objinstanceofClasseB)System.out.println("Só a Classe B executa esta linha");}
porém vc não existe a possibilidade de vc impedir que a classe C chame tal método.
[]'s
Rapaz legal essa alternativa. É um pouco POG mas daria certo, caso ninguém consiga eu vou enviar um email ao meu colega ou aceitar essa sua opção.
valew.