Tipo enumerado
description
Transcript of Tipo enumerado
Tipo enumeradoCapítulo 1
Tipo enumerado
enum Elementos de uma enum Atributos e métodos de uma enum Construtores de uma enum
2
Tipo enumerado
Uma enum (enumeração) é um tipo específico de classe de onde podemos obter um número limitado e pré-definido de instâncias.
3
Elementos de uma enum
public enum DiaDaSemana {
SEGUNDA,
TERCA,
QUARTA,
QUINTA,
SEXTA,
SABADO,
DOMINGO;
}
4
Elementos de uma enum
Na aplicação principal...
DiaDaSemana dia1 = new DiaDaSemana();
DiaDaSemana dia1 = DiaDaSemana.QUARTA;
DiaDaSemana dia2 = DiaDaSemana.SABADO;
Não é possível instanciar
5
Atributos e métodos de uma enum
public enum DiaDaSemana {
SEGUNDA,
...,
DOMINGO;
private int numero;
private String nome;
public int getNumero() {
return numero;
}
... <outros métodos> ...
}
6
Atributos e métodos de uma enum Na aplicação principal...
DiaDaSemana dia1 = DiaDaSemana.QUARTA;
...
System.out.println(dia1.getNome());
Em geral, enumerações não possuem métodos set.
7
public enum DiaDaSemana {
SEGUNDA(1, “segunda-feira”, “seg”),
...,
DOMINGO(7, “domingo”, “dom”);
private int numero;
private String nome;
private String nomeAbreviado;
private DiaDaSemana(int numero, String nome, String abrev) {
this.numero = numero;
this.nome = nome;
this.nomeAbreviado = abrev;
}
... <outros métodos> ...
}
Método construtor
8
Enum como uma constraint Uma enum é tipicamente utilizada como
uma constraint restritiva de atributos de outras classes:
public class Funcionario {
private int matricula;
private String nome;
private DiaDaSemana folgaSemanal;
...
}
9
O método values() Toda enum possui o método estático values(), que retorna um array contendo todos os possíveis valores daquela enum.
DiaDaSemana[] array = DiaDaSemana.values();
for (int i = 0; i < array.length; i++) {
System.out.println(array[i].getNome());
}
10
Exercício Crie a enum Estado contendo todas as unidades
federativas da região sudeste do Brasil;
Cada elemento da enum Estado deverá conter o nome, a sigla e a capital de um estado;
A seguir, crie a classe ExercicioEnum contendo o método main();
Neste método main() crie um loop varrendo todos os estados contidos na enum, exibindo seu nome e capital.
11