Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Uso de Getter & Setter ou Protected

A maior parte da minha dúvida foi esclarecida nesse tópicohttps://cursos.alura.com.br/forum/topico-duvida-getter-vs-acesso-direto-impacto-no-uso-de-atributos-protected-413870 mas gostaria de saber mais um ponto.

Ter vários métodos de getter e setter em uma aplicação não sobrecarrega ela?

1 resposta
solução!

Oi, Tayna! Tudo bem?

Compreendo a sua preocupação sobre o uso de vários métodos getters e setters em uma aplicação. Vamos lá!

Ter muitos getters e setters não necessariamente sobrecarrega uma aplicação em termos de desempenho, mas pode impactar na manutenção e na legibilidade do código. Isso ocorre porque, ao expor muitos detalhes internos de uma classe através de métodos de acesso, você pode acabar violando o princípio de encapsulamento, que é um dos pilares da Orientação a Objetos.

O encapsulamento sugere que os detalhes internos de uma classe deveriam ser escondidos, permitindo que as interações com a classe sejam feitas através de uma interface bem definida. Usar getters e setters em excesso pode, em alguns casos, expor mais do que o necessário e tornar o código mais difícil de modificar futuramente.

Por outro lado, ao usar o modificador protected, como você viu no exemplo, você permite que subclasses acessem diretamente os atributos, o que pode ser útil em alguns casos, mas também deve ser usado com cautela. Isso porque, ao permitir o acesso direto, você pode acabar criando dependências fortes entre as classes, o que também pode dificultar a manutenção do código.

Uma abordagem equilibrada é usar getters e setters quando você precisa de controle adicional sobre como os atributos são acessados ou modificados, por exemplo, para validar valores ou disparar eventos. Já o protected pode ser uma boa escolha quando você tem certeza de que as subclasses precisam modificar diretamente os atributos de forma segura e controlada.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.