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?
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?
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
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!