Classes em Java

De Aulas

Voltar para Programação em Java

Classe Carro em UML

Classe Carro.png

Classe Carro em Java

 1public class Carro {
 2	public String marca;
 3	public String cor;
 4	public String placa;
 5	public Integer velocidadeAtual;
 6	public char marchaAtual;
 7	public Boolean freioDeMaoPuxado;
 8	public Boolean chaveVirada;
 9	
10	public Carro(String marca, String cor, String placa) {
11		this.marca = marca;
12		this.cor = cor;
13		this.placa = placa;
14		this.velocidadeAtual = 0;
15		this.marchaAtual = '0';
16		this.freioDeMaoPuxado = true;
17		this.chaveVirada = false;
18	}
19	
20	public void ligar() {
21		chaveVirada = true;
22		freioDeMaoPuxado = false;
23		marchaAtual = '1';
24	}
25	
26	public void acelerarAte(Integer velocidade) {
27		if (!chaveVirada) return;
28		if (freioDeMaoPuxado) return;
29		if (marchaAtual == '0') return;
30		velocidadeAtual = velocidade;
31	}
32	
33	public void mudarMarcha(char marcha) {
34		marchaAtual = marcha;
35	}
36	
37	public void parar() {
38		acelerarAte(0);
39		freioDeMaoPuxado = true;
40		chaveVirada = false;
41		marchaAtual = '1';
42	}
43	
44	public String toString() {
45		String out = "";
46		out += "Marca(" + marca + ") ";
47		out += "Cor(" + cor + ") ";
48		out += "Placa(" + placa + ") ";
49		out += "Chave(" + chaveVirada + ") ";
50		out += "Freio(" + freioDeMaoPuxado + ") ";
51		out += "Marcha(" + marchaAtual + ") ";
52		out += "Veloc(" + velocidadeAtual + ")";
53		return out;
54	}
55	
56	public static void main(String[] args) {
57		Carro gol = new Carro("Wolkswagen", "branca", "XYZ9803");
58		Carro uno = new Carro("Fiat", "vermelha", "ABC4445");
59		
60		System.out.println(gol);
61		System.out.println(uno);
62		
63		gol.ligar();
64		gol.acelerarAte(20);
65		gol.mudarMarcha('2');
66		System.out.println(gol);
67		System.out.println(uno);
68		
69		uno.ligar();
70		gol.acelerarAte(50);
71		gol.mudarMarcha('3');
72		uno.acelerarAte(10);
73		uno.mudarMarcha('2');		
74		System.out.println(gol);
75		System.out.println(uno);
76	}
77}

Classe Aluno

 1public class Aluno {
 2	public String Nome;
 3	public int Codigo;
 4	public double N[] = new double[3];
 5	private double Media;
 6	public String Situacao;
 7
 8	public Aluno(String Nome, int Codigo, double N1, double N2, double N3) {
 9		this.Nome = Nome;
10		this.Codigo = Codigo;
11		this.N[0] = N1;
12		this.N[1] = N2;
13		this.N[2] = N3;
14		CalcularMedia();
15	}
16	
17	public void setNota(int id, double N) {
18		if ((id < 1) || (id > this.N.length)) return;
19		this.N[id-1] = N;
20		CalcularMedia();
21	}
22	
23	public double getNota(int id) {
24		if ((id < 1) || (id > N.length)) return 0;
25		return N[id-1];
26	}
27
28	private void CalcularMedia() {
29		double somatorio = 0;
30		for (int i = 0; i < N.length; i++) {
31			somatorio += N[i];
32		}
33		Media = somatorio / N.length;
34		Situacao();
35	}
36
37	private void Situacao() {
38		if (Media > 7) {
39			this.Situacao = "aprovado";
40		} else if (Media > 5) {
41			this.Situacao = "exame";
42		} else {
43			this.Situacao = "reprovado";
44		}
45	}
46
47	public String toString() {
48		String out = "";
49		out += "Nome(" + Nome + ") ";
50		out += "Codigo(" + Codigo + ") ";
51		out += "Media(" + Media + ") ";
52		out += "Situacao(" + Situacao + ") ";
53		return out;
54	}
55	
56    public static void main(String[] args) {
57    	Aluno aluno[] = new Aluno[3];
58    	    	
59    	aluno[0] = new Aluno("Joao", 123, 8.5, 9, 8);
60    	aluno[1] = new Aluno("Marcos", 124, 4, 3, 2);
61    	aluno[2] = new Aluno("Maria", 223, 5, 7, 6);
62    	 	
63    	for (int i = 0; i < aluno.length; i++) {
64    		System.out.println(aluno[i]);
65    	}
66    }
67}

Exercício

Ampliar as especificidades da classe Carro:

  • Implementar mais atributos;
  • Implementar mais métodos;
  • Criar um novo objeto;
  • Utilizar no programa principal os novos elementos criados;

Exercício 2

Com base no conteúdo apresentado até o momento, fazer um exercício com as seguintes características:

  • Baseado no desenho da Classe Carro em UML, criar uma nova classe de objetos.
  • Definir os atributos da nova classe.
  • Definir os métodos da nova classe.
  • Tentar implementar a nova classe em linguagem de Programação Java.
  • Fazer uma pesquisa sobre o que significa encapsulamento em Programação Orientada à Objetos.