• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Damon4hire

Modificadores de acesso

8 mensagens neste tópico

boas pessoal

Estou no meio de um programa, que tem todas as classes que interagem entre si

no mesmo package, incluindo as subclasses.

So quero saber se é preferivel usar protected ou não pôr nada.

Exemplo: protected int numero;

                int numero;

Sei que vai dar o mesmo resultado, mas será que é preferivel usar um em vez do outro,

ou nem por isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu gosto sempre de deixar explicito o q quero. Meto sempre o modificador.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Certo, mas eu tava a perguntar se um é mais eficiente que o outro.

O protected deixa-te interagir dentro da mesma classe, package ou subclasse.

Se não pores nada deixa-te interagir dentro da mesma classe e package, só, mais nada.

Como as subclasses estão dentro do mesmo package, vai dar a mesma coisa.

Mas será algum deles mais eficiente que o outro nestas condições? :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Variáveis de instância são sempre private. Toda e qualquer forma de acesso às mesmas por parte das superclasses/subclasses fica a cargo dos construtores e dos métodos selectores (aka get()).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Verdade mas eu só estou indeciso quanto aos métodos/funções, entre usar protected ou não.

lol Ninguem me elucida?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual é o teu interesse em ter métodos protected? A menos que queiras restringir o acesso a esses métodos por parte de classes que se encontrem noutros packages, não vejo razão para usar o modificador protected.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nenhum interesse mesmo lol. O meu programa funciona com ou sem isso. Queria saber se faria alguma diferenca

em usar um ou outro, tipo um é mais eficiente que o outro, por ser mais restrito, por exemplo.

Como só comecei a aprender isto a alguns meses tenho muitas perguntas. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso está implementado em Java através de inteiros com diferentes posições dos bits que representam os diferentes modificadores (http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Modifier.html). A questão da eficiência não se coloca aqui, excepto quando estamos a tratar problemas de concorrência onde se usa o modificador synchronized:

Estima-se que métodos sincronizados sejam cerca de cem vezes mais lentos que métodos não sincronizados.

http://wiki.portugal-a-programar.org/java:padrao_singleton

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora