Modificadores de acesso [RESOLVIDO]

7 respostas
Vislum

[size=12][color=blue]Suponhamos que em desenvolvimento de um software qualquer eu tenha um pacote conexão.
e nesse pacote eu tenha uma classe com o mesmo nome (Conexao) e nessa os atributos estarão com o modificador de acesso private e os getters and setters com protected para que apenas as classes desse pacote possam usar tais métodos.
Essa forma de pensar e a própria implementação estaria correta?
[/color][/size]

7 Respostas

R

protect ou default voce quis dizer? normalmente limitamos acesso às variaveis com private e deixamos getters e setters default ou públicos de preferencia

geralmente os nomes de pacotes não são iguais àos nomes das classes. mas se for um projeto didático, muito pequeno ou pra uso próprio, não vejo porque estar errado. voce é o desenvolvedor e esse classe conexão é propriedade sua né.

Arthur_F_Ferreira

Vislum:
[size=12][color=blue]Suponhamos que em desenvolvimento de um software qualquer eu tenha um pacote conexão.
e nesse pacote eu tenha uma classe com o mesmo nome (Conexao) e nessa os atributos estarão com o modificador de acesso private e os getters and setters com protected para que apenas as classes desse pacote possam usar tais métodos.
Essa forma de pensar e a própria implementação estaria correta?
[/color][/size]

Se essa for a necessidade do seu códgio, não tem porque a implementação estar incorreta. Essa classe só iria ter utilidade para outras classes dentro deste mesmo pacote ou para as classes que herdarem dela (estas também terão acesso aos métodos protegidos).

Vislum

[color=blue]A ideia era não acessar diretamente os atributos e limitar o acesso apenas para as classes do pacote. Tendo em vista que nenhuma classe externa ao pacote teria herança da classe Conexao.[/color]

Arthur_F_Ferreira

Limitar o acesso externo até mesmo aos métodos da classe? Se for isso, tá certinho.

Vislum

Isso mesmo, Obrigado =)

ViniGodoy

Se você quer garantir mesmo, use default ao invés de protected. Com default, mesmo que uma classe externa herde daquela pacote, ela não verá os métodos.

Além disso, você pode deixar classes inteiras como default, assim, outros pacotes sequer a verão.

Vislum

Bem, então isso é o mais adequado para o que eu gostaria de fazer.
Obrigado a todos pelas colaborações.

Criado 27 de janeiro de 2013
Ultima resposta 27 de jan. de 2013
Respostas 7
Participantes 4