Voltando para nosso refatoramento: fatorando o que há de comum

    Vamos implementar isso usando herança?

    A seguinte hierarquia representa o que acabamos de falar

 

 

 

 

 

 

 


    Veja a seguir os atributos e métodos de cada Classe

    As cores foram colocadas para ajudar a identificar de onde vem o método/atributo

Classe

Atributos

Métodos

Pessoa

String nome
String cpf

getNome, getCPF, setNome, setCPF, toString, equals

Funcionario

String nome,
String cpf,

String matricula,
int tempoDeServico,
double salarioBase

 

getNome, getCPF, setNome, setCPF, toString, equals, getMatricula, getTempoDeServico, getSalarioBase, setMatricula, setTempoDeServico, setSalarioBase, computaSalario, toString, equals

Programador

String nome,
String cpf,

String matricula,
int tempoDeServico,
double salarioBase,
linguagens, preferência, projeto

getNome, getCPF, setNome, setCPF, toString, equals, getMatricula, getTempoDeServico, getSalarioBase, setMatricula, setTempoDeServico, setSalarioBase, computaSalario, toString, equals, adicionaLinguagem, getPreferencia, setPreferencia, atribuiProjeto, toString

Coordenador

String nome,
String cpf,

String matricula,
int tempoDeServico,
double salarioBase,
projetos

getNome, getCPF, setNome, setCPF, toString, equals,  getMatricula, getTempoDeServico, getSalarioBase, setMatricula, setTempoDeServico, setSalarioBase, computaSalario, toString, equals, adicionaProjeto, removeProjeto, getNumProjetos, toString

FuncionarioAdministrativo

String nome,
String cpf,
String matricula,
int tempoDeServico,
double salarioBase,
função

getNome, getCPF, setNome, setCPF, toString, equals, getMatricula, getTempoDeServico, getSalarioBase, setMatricula, setTempoDeServico, setSalarioBase, computaSalario, toString, equals, getFuncao, setFuncao, toString

 

Voltar