Programación Orientada a Objetos Enumeradoscbustaca/docencia/POO-2016-01/... · Como programar en...

14
Programación Orientada a Objetos Enumerados Ing. Julio Ernesto Carreño Vargas MsC. contribución: María Consuelo Franky

Transcript of Programación Orientada a Objetos Enumeradoscbustaca/docencia/POO-2016-01/... · Como programar en...

Programación Orientada a Objetos

Enumerados

Ing. Julio Ernesto Carreño Vargas MsC.

contribución: María Consuelo Franky

Programación Orientada a Objetos 2

Necesidad de los Enumerados

Programación Orientada a Objetos 3

Concepto de Enumerados

Tipo declarado por el programador que

consiste de un conjunto de constantes

Justificación

Los enumerados mejoran la legibilidad del

programa

Los enumerados hacen más fácil de mantener

los programas

Programación Orientada a Objetos 4

Crear Enumerados

Se utiliza la palabra reservada enum seguida

del nombre del enumerado y las constantes

Estado

;

Estado

Programación Orientada a Objetos 5

Estándar de Nombres para

Enumerados

Por estándar se acostumbra que los

nombres de las constantes en los

enumerados se escriban en mayúscula

Programación Orientada a Objetos 6

;

Ejemplo uso de Enumerados (1)

Observe que el

atributo estado se

declara del tipo

Enumerado Estado

Observe como se

utiliza ahora el

enumerado en el

código

Programación Orientada a Objetos 7

Enumerados definidos en una clase separada

Por lo general los enumerados se colocan

en su propio archivo de código separado

los get no son necesarios

Programación Orientada a Objetos 8

Características de los Enumerados

Los enumerados tienen las siguientes

restricciones:

Son final

Son constantes estáticas (static)

No se pueden crear instancias (con new) de dichos

enumerados

La clase que los declara puede tener constructores

Constructores sobrecargados y pueden especificar

parámetros

Programación Orientada a Objetos 9

Ejemplo uso de Enumerados (2) La clase producto tiene ahora una referencia

al enum EstadoProducto

Programación Orientada a Objetos 10

Invocando con parámetros

Enumerados

Programación Orientada a Objetos 11

Recorriendo Enumerados

Programación Orientada a Objetos 12

Redefinición del toString de un Enumerado para controlar la impresión

de los valores de las constantes

Impimir el valor de un atributo de tipo enumerado:

Ejemplo que redefine toString() para mejorar impresión:

public enum Color {

WHITE, BLACK, RED, YELLOW, BLUE;

}

public enum Color {

WHITE, BLACK, RED, YELLOW, BLUE;

public String toString() {

//only capitalize the first letter

String s = super.toString();

return s.substring(0, 1) + s.substring(1).toLowerCase();

}

// imprimira Red White, etc...

}

Uso: Rectangulo tiene un atributo: private Color fondo; Rectangulo r = new Rectangulo(10, 20, Color.RED);

. . .

if (r.getFondo() == Color.RED) { . . .}

. . .

System.out.println("el fondo es de color " + r.getFondo());

// imprime RED

Programación Orientada a Objetos 13

public enum Color {

WHITE(21), BLACK(22), RED(23), YELLOW(24), BLUE(25);

private int code;

private Color(int c) {

code = c;

}

public int getCode() {

return code;

}

}

Uso: Rectangulo tiene un atributo: private Color fondo; Rectangulo r = new Rectangulo(10, 20, Color.RED);

System.out.println("el fondo es de color " + r.getFondo()

+ " cuyo codigo es " + r.getFondo().getCode());

Enumerado con atributos (información asociada a cada constante)

Programación Orientada a Objetos 14

Bibliografía

Paul Deitel. Como programar en Java 7/e. Pearson Education.

2007.

C. Thomas Wu. An Introduction to Object Oriented

Programming with Java

Eckel, Bruce. Piensa en JAVA, cuarta edición, Prentice Hall,

2007 [cap. 1]