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 ✓.