Aula Prática – Linguagens de Programação
Classes abstratas
Considere uma empresa que possui um cadastro de todos seus funcionários.
Crie uma classe abstrata que represente um funcionário, defina um construtor e um
método abstrato chamado calcula salário, um método para imprimir o código funcional (que
não pode ser sobreposto) e um método que imprime as informações básicas do funcionário.
Os atributos dessa classe, que devem ser privados, são: nome, código funcional e cidade de
nascimento.
Crie três classes concretas que herdam da classe funcionário, que são: funcionário
básico (ganha um salário fixo), funcionário comissionado (ganha comissão por trabalho feito) e
funcionário horista (ganha por hora trabalhada).
As três classes possuem um construtor, sendo que no momento em que um
funcionário é cadastrado no sistema, é definido seu salário básico, comissão ou pagamento
por hora.
As classes para os funcionários horistas e comissionados devem possuir métodos para
definir a quantidade de horas trabalhadas e a quantidade de trabalho feito, respectivamente.
Crie uma classe chamada relatório, que imprime um relatório de todos os funcionários,
relatando suas informações básicas e seu salário.
Na classe principal, usando polimorfismo, crie um vetor com cinco funcionários,
preencha com cinco funcionários de diferentes tipos e imprima os dados de cada funcionário e
seu salário. Para executar os métodos para a definição de horas trabalhadas e trabalho feito,
use o recurso de downcasting, exemplificado abaixo.
Exemplo de downcasting
Funcionario func = new Funcionario();
Horista hora = (Horista) func;
Download

Exercício