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

Métodos usando Herança

Fala galera tudo bem ? Minha dúvida é mais sobre a implementação de novos métodos.. Por exemplo seguindo a lógica do projeto temos 2 classes: Funcionário e Gerente sendo que Funcionário seria a Super class, porém resolvi criar mais duas classes para praticar mais a Herança. No caso essas novas classes seriam Programador e Design, resultando no total de 4 classes e nessas 2 novas classes eu gostaria de implementar um método que gerasse uma comissão, que somaria diretamente com o nosso método getBonificacao() que foi criado em aula. O resultado que eu gostaria ficou legal e esta funcionando, mas fiquei na dúvida aonde seria o lugar ideal para implementar esses métodos, levando em conta um dos pilares da Herança (Reutilização de código) meu projeto atualmente possui um atributo extra na classe Mãe: comissao, porém o método que realmente faz a soma da comissão está em cada classe que de fato vai utilizar essa funcionalidade:

    public double programar() {
        super.setComissao(100);;
        return super.getComissao();
    }
public double desenhar() {
        super.setComissao(100);;
        return super.getComissao();
    }

Vale ressaltar que o meu método setComissao() está somando e não atribuindo. Agora pergunta é, o correto seria implementar um novo método realizarFuncionalidade() que fará o calculo da comissão, ou repetir o método para cada classe específica levando em conta que no futuro poderá ter mais classes que precisarão fazer o calculo de comissão? Obrigado, as aulas estão sensacionais!

2 respostas
solução!

Olá Gustavo,

uma coisa que você poderia fazer nesta situação seria criar uma classe FuncionarioComissao que seria filha de Funcionario e mãe de Programador e Design. Ai sim nesta classe você poderia definir o atributo comissao.

Além disso, se a comissão for sempre de 100 reais, a sua classe FuncionarioComissao poderia já recebeComissão, que faz esse trabalho ao invés de repetir isso nas filhas.

Outra possibilidade, é a comissão ao invés de ser mais um nível de herança seria você trabalhar com o modelo da composição através de uma interface de Comissao.

Bacana Lucas valeu pela ajuda, estou entrando em interface agora então vou implementar desse jeito mais pra frente, mas a primeira solução faz todo o sentido pois o professor em aula também abordou um problema parecido usando esta "técnica" de criar uma classe intermediária, vou praticar usando esses 2 esquemas, muito obrigado!