Herança - Exemplo 2

De Aulas

Voltar para Programação em Java

Heranca exemplo 2.png

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.

Heranca exercicio figuras.png

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.