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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!