Dúvida sobre métodos de classe

Off Topic

31/05/2017

Oi gente, uma dúvida sobre orientação a objetos. Os métodos das minhas classes devem ser públicos ou privados?

Os atributos deixei sempre como privados, exceto nos atributos das superclasses.

Porém na visibilidade dos métodos não sei se posso declará-los como privados e aproveitar isso.

Alguém pode me ajudar?
Larissa Aguiar

Larissa Aguiar

Curtidas 0

Melhor post

Daniel Araújo

Daniel Araújo

31/05/2017

Bom dia Larissa!

O que vai dizer se um método vai ser público ou privado é a utilização dele. Um exemplo, uma classe Boleto tem um método imprimirCodigoDeBarras(). Este método tem que ser público para pode ser chamado por quem vai utilizar um objeto desta classe. Só que na composição do código de barras existe o digito verificador. Logo eu vou ter um método calcularDigitoVerificador(). Este método só vai ser utilizado dentro do método imprimirCodigoDeBarras(), logo ele não precisa ser público. Deu para entender?

Se a resposta for útil não esqueça de dar um like!
GOSTEI 2

Mais Respostas

Larissa Aguiar

Larissa Aguiar

31/05/2017

Então no caso, os métodos, desde que usados somente dentro da própria classe, podem ser privados? é isso?

E se forem usados em outros lugares que não sejam a classe, aí há a necessidade de serem públicos.

Bom se for isso entendi sim!

Obrigada :)
GOSTEI 0
Daniel Araújo

Daniel Araújo

31/05/2017

Isso mesmo!
GOSTEI 0
Ivan Santos

Ivan Santos

31/05/2017

Acrescentando à reposta, essas são as características das visibilidades public, private e protected:

public - acessível publicamente. É comum ter métodos public, mas não é recomendado ter atributos public;
private - acessível somente a membros da própria classe;
protected - acessível a membros da própria classe e subclasses;

há ainda a visibilidade package, quando a visibilidade não é especificada, ela se torna public porém apenas para membros do mesmo package;
GOSTEI 1
Diego Silva

Diego Silva

31/05/2017

Excelente complementação Ivan!

Com certeza o entendimento dos modificadores de acesso ajudam a entender essa situação com mais clareza!
GOSTEI 1
POSTAR