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

Dúvida nos modificadores de acesso - Classes Abstratas

Para que precisamos de modificadores de acesso em classes abstratas? Só quem vai precisar delas não vão ser suas classes filhas?

3 respostas
solução!

Não Luis.. Veja bem.. Vamos pegar por exemplo uma Classe Conta que possua duas subclasses: ContaPoupança e ContaCorrente.

Imagine que você pos essas contas em um mesmo pacote. Em outro pacote, imagine que você crie uma classe chamada Tributo, nessa classe você colocará um método que receba como parâmetro uma Conta e deverá calcular um tributo em cima do saldo da sua conta, esse tributo seria 5% do saldo de sua conta.

Por a forma de calculo do tributo ser o mesmo para as duas contas, você pode fazer só um método para ambas. Qual conta você colocaria como parâmetro? ContaCorrente ou ContaPoupança?

Perceba que ambas são subclasses da classe Conta, logo ambas são Conta. Então seria melhor por a classe Conta como parâmetro, pois dessa forma seu método aceitaria qualquer tipo de conta, tanto uma ContaCorrente como uma ContaPoupanca.

Mas como eu disse no inicio, a nossa classe Tributo está em um outro pacote diferente do pacote onde está a classe Conta. Então para que ela seja acessada, seria necessário o modificador de acesso public, pois este permite que classes sejam acessadas de qualquer pacote e por qualquer classe. Caso deixemos sem modificador de acesso, ela receberá o modificador default que só permite que a classe seja acessada por classes no mesmo pacote, mas como nossa classe Tributo está em outro, então não adiantaria de nada.

Espero que tenha ajudado. Bons Estudos!

Luis ficou claro? por favor só solucione uma resposta para fechar o tópico.

grato!

Ficou sim. Tinha marcado como solução justamente pra fechar o tópico.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software