Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Qual a diferença entre "protected" e "getters e setters"?

Bom dia, pessoal!

No artigo fala que o protected pode ser acessado em várias classes, mas num mesmo pacote e "sem a necessidade de restringir o acesso apenas pelos métodos getters e setters". Ou seja, o protected e os getters e setters fazem a mesma coisa? Ou os getters e setters encapsulam apenas dentro de uma única classe?

Obrigada desde já!

2 respostas
solução!

Olá Rayane, tudo bem?

A diferença entre o modificador de acesso "protected" e os métodos "getters" e "setters" está no nível de encapsulamento que cada um oferece.

O "protected" permite que um atributo ou método seja acessado por classes que estejam no mesmo pacote e também por classes filhas (que herdam da classe que contém o atributo ou método "protected").

Já os métodos "getters" e "setters" são utilizados para encapsular um atributo, ou seja, proteger o acesso direto a ele. Eles permitem que o acesso ao atributo seja feito apenas através dos métodos "get" e "set", que podem ter validações ou outras lógicas antes de permitir a leitura ou escrita do atributo.

Dessa forma, os "getters" e "setters" encapsulam o atributo apenas dentro da classe em que estão declarados, enquanto o "protected" permite o acesso em outras classes que estejam no mesmo pacote e nas classes filhas.

Espero ter ajudado e bons estudos!

Excelente explicação, Matheus!

Muito obrigada.