110 likes | 229 Views
Capítulo 1. Tipo enumerado. Tipo enumerado. enum Elementos de uma enum Atributos e métodos de uma enum Construtores de uma enum. 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.
E N D
Capítulo 1 Tipo enumerado
Tipo enumerado • enum • Elementos de uma enum • Atributos e métodos de uma enum • Construtores de uma enum
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.
Elementos de uma enum publicenumDiaDaSemana { SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA, SABADO, DOMINGO; }
Elementos de uma enum • Na aplicação principal... DiaDaSemana dia1 = newDiaDaSemana(); DiaDaSemana dia1 = DiaDaSemana.QUARTA; DiaDaSemana dia2 = DiaDaSemana.SABADO; Não é possível instanciar
Atributos e métodos de uma enum publicenumDiaDaSemana { SEGUNDA, ..., DOMINGO; privateintnumero; private String nome; publicintgetNumero() { return numero; } ... <outros métodos> ... }
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.
Método construtor publicenumDiaDaSemana { SEGUNDA(1, “segunda-feira”, “seg”), ..., DOMINGO(7, “domingo”, “dom”); privateintnumero; private String nome; private String nomeAbreviado; privateDiaDaSemana(int numero, String nome, String abrev) { this.numero = numero; this.nome = nome; this.nomeAbreviado = abrev; } ... <outros métodos> ... }
Enum como uma constraint • Uma enum é tipicamente utilizada como uma constraint restritiva de atributos de outras classes: publicclassFuncionario { privateint matricula; private String nome; privateDiaDaSemanafolgaSemanal; ... }
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()); }
Exercício • Crie a enumEstado 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.