Obtenha as melhores soluções para suas perguntas no Sistersinspirit.ca, a plataforma de Q&A de confiança. Junte-se à nossa plataforma de perguntas e respostas e obtenha respostas precisas para todas as suas dúvidas com profissionais de várias disciplinas. Descubra um vasto conhecimento de profissionais em diferentes disciplinas em nossa amigável plataforma de perguntas e respostas.

Quando trabalhamos com programação no dia a dia, desenvolvemos quase que um “olho clínico” para a leitura e entendimento do código fonte. Em linguagens como o Java, que possui uma comunidade de desenvolvedores e usuários bastante ativa, possuem convenções de como definir artefatos de código, como por exemplo:
- Todo nome de classe deve ser iniciado com a primeira letra maiúscula (ex. String);
- Todo nome de método deve ser escrito em minúsculo, mas quando se tem uma nova palavra deve-se iniciá-la com letra maiúscula: (ex. abrirPorta() );
- Atributos devem seguir a mesma lógica do nome dos métodos;

Com isso é fácil analisar o código 1, a seguir:

Aluno aluno = new Aluno();
aluno.setNome(“Nome do Aluno”);

Facilmente se percebe que “Aluno” está relacionado a uma classe, “aluno” a uma instancia da classe “Aluno” e “setNome(“Nome do Aluno”)” corresponde a um método.

Vamos analisar o código 2:

int valor = Integer.parseInt(“10”);

Verificamos que “valor” é um atributo do tipo int (inteiro), “Integer” é uma classe e “parseInt” é um método da classe Integer. Até aqui tudo certo, mas vamos observar a diferença entre o acesso ao método do código 1 e do código 2.

No caso do código 1, eu tenho uma instancia de uma classe e faço o acesso ao método a partir da referência da instância “aluno.setNome()”, já no código 2 eu estou acessando um método sem ter uma instância, fazendo o acesso direto pela classe: “Integer.parseInt()”, como isso é possível? Justifique a sua resposta.

Além do ponto levantado no parágrafo acima, apresente exemplos de implementação de modificadores de acesso de classe e modificadores de acesso de métodos e atributos, justificando cada modificador.

​Observações:
- Fique à vontade para pesquisar em livros da área e sites especializados, mas a resposta deve ser com suas palavras e não COPIADAS.
- Não se esqueça de incluir as referências das quais retirou as informações.
- Plágios e cópias, serão penalizadas com nota ZERO.


Sagot :

Isso é possível, pois o o método parseInt da classe Integer, é um método estático, isso significa que não é preciso criar uma instância dessa classe para poder usar o método.

Exemplos de modificadores de acesso de classe:

- public: classes que são definidas como públicas, pode ser acessado por qualquer classe ou método.

- protected: Classes protegidas pode ser acessado pela classe do mesmo pacote, ou por uma subclasse desta classe.

- private: A classe, métodos ou variáveis privadas definidas como privadas pode ser acessado apenas dentro da classe de origem.

- "nada": Só podem ser acessados apenas no mesmo pacote.

Exemplos de modificadores de acesso de métodos e atributos:

- public: métodos e atributos que são definidas como públicas, pode ser acessado por qualquer classe ou método a partir de um instância da classe pai ou dentro da classe pai.

- public static: métodos e atributos que são definidas como públicos e estáticos, pode ser acessado por qualquer classe ou método e não dependem de uma instância.

- protected: Classes protegidas pode ser acessado pela classe do mesmo pacote, ou por uma subclasse desta classe.

- private: A classe, métodos ou variáveis privadas definidas como privadas pode ser acessado apenas dentro da classe de origem a partir.

- private static: A classe, métodos ou variáveis privadas definidas como privados e estáticos pode ser acessado apenas dentro da classe de origem e não dependem de uma instância.

- "nada": Só podem ser acessados apenas no mesmo pacote.