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

Métodos Abstratos

Boa tarde, Se eu tenho uma classe que estende de funcionário, mas por algum motivo ela não possui Bonificação (não utiliza o método getBonus()). É possível que essa classe estenda de funcionário sem o método getBonus()? Ou haverá erro no código?

2 respostas

Olá Daniel, tudo bem?

Não é possível, a classe - filha irá pedir para implementar o método da classe mae. Toda classe, marcada como abstrata a filha deve implementar os métodos da mae, à não ser que a classe filha vire abstrata também.

Espero ter ajudado

Obrigado

solução!

Eai Daniel, boa tarde.

Como o Thiago falou, só irá conseguir se esse Funcionário novo que não recebe o bônus se tornar abstrato também, pense assim.

public class Desenvolvedor extends Funcionario  {

    public void recebeBonus(double valor){
        // código
    }

}

Desenvolver vai receber a bonificação porque o método de Receber bônus sobrescreve o método obrigatório por funcionario ser abstrato, logo todo desenvolvedor terá o bônus.

public abstract class Estagiario extends Funcionario {
       // outros métodos aqui.
}

Nesse caso Estagiário é um funcionário, porém digamos que ele possua métodos diferentes, e não receberá o bônus do funcionario, então ela se torna abstrata também.

Esperto ter ajudado. =) Abraço!