Exercício - Herança
Uma loja comercial tem 2 tipos de funcionários: Vendedores e administrativos. Para todos eles empresa precisa ter o registro do nome e RG do funcionário. O vendedor tem um salário base mas ganha também comissão de suas vendas. O administrativo tem salário fixo mas podem ganha horas extras adicionais. Faça uma hierarquia de classes que tenha uma classe ancestral que implemente o que for comum aos dois tipos de funcionários e uma classe descendente para cada tipo. Os vendedores devem ter um método que imprima seu salário total considerando que a comissão é de 5%. Para os administrativos as horas extras que são acumuladas e pagas com o valor de um centésimo do salário por hora. Nós dois casos, o método que imprime o salário a receber zera os valores acumulados
Legal o exercício, espero que você consiga fazer.
Antes de começar, no entanto, recomendo a leitura: Coisa importante pra você ler antes de começar.
Abraço.
2 curtidas
beleza vc tem 3 classes
funcionario
vendedor extends funcionario
administrativo extends funcionario
vc quer fazer algo como
Funcionario f = new Vendedor(salario, vendas);
f.imprimeSalarioTotal();
boa sorte
Olá!
Eu pensei em instanciar a classe administrativo.
funcionário f = new administrativo (salario_fixo, horas_extra);
f.imprimeSalario_fixo();
O que vc acha, se poder me ajudar. Obgd
primeiro eu acho q imprimeSalario_fixo é um nome “feio”.
java segue um padrão de camelCase. vc raramente verá nomes de metodos ou variaveis com _
( ok existen exceções ).
imprimeSalarioFixo()
parece muito mais adequado.
agora vamos la. vc tem 2 tipos de funcionarios. vc não cria instancias da classe Funcionario em si. logo essa classe é abstrata, assim como o metodo imprimeSalarioFixo
. quem fizer um extends nessa classe q tem q implementar.
vamos la, vc tem dois numeros: salario e horas extra.
vc tem q somar ao salario um centesimo do salario vezes as horas extras. isso significa
salario + (0.01 * horas extras * salario)
que equivale
1 * salario + (0.01 * horas extras * salario)
que equivale
salario * ( 1 + (0.01 * horas extras ) )
ou seja, vc precisa imprimir o salario multiplicado por 1 + 0.01 * horas extras
agora implementa