Olá Pedro, tudo certo?
Neste caso, uma boa alternativa seria uma interface, por exemplo IInvestidor
, mais generalista para atender esse requisito das contas que possam somar investimentos, onde a ContaEstudate
não assinasse esse contrato. Então, as contas de estudantes nem poderiam entrar nessa lista de investidores.
Teriam outros meios de impedir que as contas de estudantes não possuíssem o método SomarInvestimento()
, mas ContaEstudate
não deveria herdar de ContaComum
, para não ficar sobrando um método que não faz o menor sentido de existir em ContaEstudante
. Num banco de dados, as contas de estudantes poderiam até ficar em uma tabela separada das contas comuns, para evitar esse tipo de problemas, por ser objetos diferentes.
Se uma classe mãe tem um método ou propriedade, tem que fazer muito sentido, para todas as classes que herdam dela, terem também.
Espero ter ajudado!