Exercício de Herança - Resolução 2

De Aulas

Voltar para Herança

Classe Pessoa

 1public class Pessoa {
 2	private String nome = "";
 3	private String CPF = "";
 4	private int idade = 18;
 5	private String endereco = "";
 6	
 7	public Pessoa(String nome, String CPF, int idade, String endereco) {
 8		this.nome = nome;
 9		this.CPF = CPF;
10		this.idade = idade;
11		this.endereco = endereco;
12	}
13	
14	public void setNome(String n) {
15		nome = n;
16	}
17	
18	public String getNome() {
19		return nome;
20	}
21	
22	public void setCPF(String cpf) {
23		CPF = cpf;
24	}
25	
26	public String getCPF() {
27		return CPF;
28	}
29	
30	public void setIdade(int i) {
31		idade = i;
32	}
33	
34	public int getIdade() {
35		return idade;
36	}
37	
38	public void setEndereco(String e) {
39		endereco = e;
40	}
41	
42	public String getEndereco() {
43		return endereco; 
44	}
45	
46	public String toString() {
47		String saida = "\n" + this.getClass().getName() + "---------";
48		saida += "\nNome: " + nome;
49		saida += "\nCPF: " + CPF;
50		saida += "\nIdade: " + idade;
51		saida += "\nEndereco: " + endereco;		
52		return saida;
53	}
54}

Classe Aluno

 1public class Aluno extends Pessoa {
 2	private String matricula = "";
 3	private int anoEntrada = 2000;
 4	private int anoFormatura = 2000;
 5
 6	public Aluno(String nome, String CPF, int idade, String endereco,
 7			String matricula, int anoEntrada, int anoFormatura) {
 8		super(nome, CPF, idade, endereco);
 9		this.matricula = matricula;
10		this.anoEntrada = anoEntrada;
11		this.anoFormatura = anoFormatura;
12	}
13
14	public void setMatricula(String m) {
15		matricula = m;
16	}
17
18	public String getMatricula() {
19		return matricula;
20	}
21
22	public void setAnoEntrada(int ano) {
23		anoEntrada = ano;
24	}
25
26	public int getAnoEntrada() {
27		return anoEntrada;
28	}
29
30	public void setAnoFormatura(int ano) {
31		anoFormatura = ano;
32	}
33
34	public int getAnoFormatura() {
35		return anoFormatura;
36	}
37	
38	public String toString() {
39		String saida = super.toString();		
40		saida += "\nMatricula: " + matricula;
41		saida += "\nAno entrada: " + anoEntrada;
42		saida += "\nAno formatura: " + anoFormatura;
43		return saida;
44	}
45}

Classe Funcionário

 1public class Funcionario extends Pessoa {
 2	private String PIS;
 3	private String funcao;
 4	private double salario;
 5
 6	public Funcionario(String nome, String CPF, int idade, String endereco,
 7			String PIS, String funcao, double salario) {
 8		super(nome, CPF, idade, endereco);
 9		this.PIS = PIS;
10		this.funcao = funcao;
11		this.salario = salario;
12	}
13
14	public void setPIS(String pis) {
15		PIS = pis;
16	}
17
18	public String getPIS() {
19		return PIS;
20	}
21
22	public void setFuncao(String f) {
23		funcao = f;
24	}
25
26	public String getFuncao() {
27		return funcao;
28	}
29
30	public void setSalario(double s) {
31		salario = s;
32	}
33
34	public double getSalario() {
35		return salario;
36	}
37	
38	public String toString() {
39		String saida = super.toString();
40		saida += "\nPIS: " + PIS;
41		saida += "\nFuncao: " + funcao;
42		saida += "\nSalario: " + salario;
43		return saida;
44	}
45}

Classe Coordenador

 1public class Coordenador extends Funcionario {
 2	private String curso;
 3
 4	public Coordenador(String nome, String CPF, int idade, String endereco,
 5			String PIS, String funcao, double salario, String curso) {
 6		super(nome, CPF, idade, endereco, PIS, funcao, salario);
 7		this.curso = curso;
 8	}
 9
10	public void setCurso(String c) {
11		curso = c;
12	}
13
14	public String getCurso() {
15		return curso;
16	}
17	
18	public String toString() {
19		String saida = super.toString();
20		saida += "\nCurso: " + curso;
21		return saida;
22	}
23}

Classe Principal

 1public class Principal {
 2	public static void main(String[] argumentos) {
 3		Pessoa pessoa [] = new Pessoa[4];
 4		
 5		pessoa[0] = new Aluno("Amelia", "00001/01", 19, "Rua das flores, 111",
 6				"20090301", 2009, 2014);
 7		pessoa[1] = new Aluno("Berenice", "00002/01", 25, "Av. das Araras, 44",
 8				"20030303", 2003, 2008);
 9		pessoa[2] = new Funcionario("Carlos Roberto", "00033/02", 34,
10				"Rod. XYZ", "222332", "Professor", 7000.50);
11		pessoa[3] = new Coordenador("Diego Ribeiro", "00134/02", 38,
12				"Rua 12 de Novembro", "432444", "Coordenador", 10000,
13				"Sistemas de Informação");
14		
15		for (int i = 0; i < 4; i++) {
16			pessoa[i].setNome(pessoa[i].getNome() + ", Msc.");
17			if (pessoa[i] instanceof Coordenador) {
18				Coordenador c = (Coordenador) pessoa[i];
19				c.setCurso("teste");
20			}
21		}
22		
23		for (int i = 0; i < 4; i++) {
24			System.out.println(pessoa[i]);
25		}
26	}
27}