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}