Herança - Exemplo 2
Voltar para Programação em Java
Classe Pessoa
1public class Pessoa {
2 private String nome;
3 private int idade;
4 private String endereco;
5
6 public Pessoa(String nome, int idade, String endereco) {
7 this.setNome(nome);
8 this.setIdade(idade);
9 this.setEndereco(endereco);
10 }
11
12 public void setNome(String nome) {
13 this.nome = nome;
14 }
15
16 public String getNome() {
17 return nome;
18 }
19
20 public void setIdade(int idade) {
21 this.idade = idade;
22 }
23
24 public int getIdade() {
25 return idade;
26 }
27
28 public void setEndereco(String endereco) {
29 this.endereco = endereco;
30 }
31
32 public String getEndereco() {
33 return endereco;
34 }
35
36 public void mostrar() {
37 System.out.println("---[ " + this.getClass().toString() + " ]---");
38 System.out.println("Nome: " + nome);
39 System.out.println("Idade: " + idade);
40 System.out.println("Endereco: " + endereco);
41 }
42}
Classe Aluno
1public class Aluno extends Pessoa {
2 private String semestre;
3 private String curso;
4
5 public Aluno(String nome, int idade, String endereco,
6 String semestre, String curso) {
7 super(nome, idade, endereco);
8 this.setSemestre(semestre);
9 this.setCurso(curso);
10 }
11
12 public void setSemestre(String semestre) {
13 this.semestre = semestre;
14 }
15
16 public String getSemestre() {
17 return semestre;
18 }
19
20 public void setCurso(String curso) {
21 this.curso = curso;
22 }
23
24 public String getCurso() {
25 return curso;
26 }
27
28 public void mostrar() {
29 super.mostrar();
30 System.out.println("Semestre: " + semestre);
31 System.out.println("Curso: " + curso);
32 }
33}
Classe Funcionario
1public class Funcionario extends Pessoa {
2 private double salario = 0;
3
4 public Funcionario(String nome, int idade, String endereco,
5 double salario) {
6 super(nome, idade, endereco);
7 this.setSalario(salario);
8 }
9
10 public void setSalario(double salario) {
11 if (salario > this.salario) {
12 this.salario = salario;
13 }
14 }
15
16 public double getSalario() {
17 return salario;
18 }
19
20 public void mostrar() {
21 super.mostrar();
22 System.out.println("Salario: " + this.getSalario());
23 }
24}
Programa Principal de Testes
1public class Principal {
2 public static void main(String[] argumentos) {
3 Pessoa p = new Pessoa("Amelia", 32, "Rua sei la");
4 p.mostrar();
5
6 Aluno a = new Aluno("Bernardo", 23, "Rua 9", "20112",
7 "Sistemas de Informacao");
8 a.mostrar();
9
10 Funcionario f = new Funcionario("Carlos", 33,
11 "Rua dos Cachorros", 1600);
12 f.mostrar();
13 }
14}
Exercício 1
Implemente as classes Professore e FuncAdm. Instancie um objeto para cada no programa principal e mostre seus dados.
Exercício 2
Considere que um ponto possui duas informações, x e y. Uma figura geométrica, por exemplo um retângulo, é composto por dois pontos, o ponto superior esquerdo e o ponto inferior direito. Faça uma classe que representa um retângulo. Agora crie uma classe para um retângulo que pode ser preenchido com uma cor. Nesse caso é importante passar uma informação dizendo a cor para se preencher esse retângulo preenchido. Considere a seguinte figura.
Faça um programa que crie um retângulo e um retângulo preenchido com uma cor. Não precisa ser visual, apenas deve mostrar as informações das figuras geométricas.