Lobo
PROGRAMACIÓN ORIENTADA A
OBJETOS USANDO CLASES
4.1 DEFINICIÓN DE CLASES E INSTANCIAS
Las clases son los objetos que Java utiliza para soportar la programación
orientada a objetos. Constituyen la estructura básica sobre la que se desarrollan las
aplicaciones.
Una clase permite definir propiedades y métodos relacionados entre sí.
Habitualmente, las propiedades son lasvariables que almacenan el estado de la clase
y los métodos son los programas que se utilizan para consultar y modificar e
l
contenido de las propiedades.
Un ejemplo de clase podría ser un semáforo de circulación, cuyo estado se
guarde en una propiedad EstadoSemaforo de tipo String que pueda tomar los valores
“Verde”, “Amarillo” y “Rojo”. Como métodos de acceso a la propiedad podríamos
definir:PonColor(String C olor) y String DimeColor().
4.1.1 Sintaxis
AtributoAcceso class NombreClase {
// propiedades y métodos
}
Obviando el significado del atributo de acceso, que se explicará más tarde,
un ejemplo concreto de clase en Java podría ser:
84
JAVA A TRAVÉS DE EJEMPLOS
© JESÚS BOBADILLA SANCHO (JBOBI@EUI.UPM.ES)
public class Semaforo {
private String EstadoSemaforo =“Rojo”;
public void PonColor (String Color) {
EstadoSemaforo = Color;
}
public String DimeColor() {
return EstadoSemaforo;
}
} // Fin de la clase Semaforo
4.1.2 Representación gráfica
Gráficamente, la clase Semaforo la podríamos definir de la siguiente
manera:
La propiedad EstadoSemaforo , con atributo private , no es accesible
directamente desde el exterior de la clase, mientras quelos métodos, con atributo
public , si lo son. Desde el exterior de la clase podemos acceder a la propiedad
EstadoSemaforo a través de los métodos PonColor y DimeColor.
4.1.3 Instancias de una clase
Cuando definimos una clase, estamos creando una plantilla y definiendo un
tipo. Con el tipo definido y su plantilla de código asociada (sus propiedades y
métodos) podemos crear tantas entidades(instancias) de la clase como sean
necesarias; de esta manera, en nuestro ejemplo, podemos crear varios semáforos
© BOBADILLA
CAPÍTULO 4: PROGRAMACIÓN ORIENTADA A OBJETOS USANDO CLASES 85
(instancias de la clase Semáforo), y hacer evolucionar el estado de estos “semáforos”
de forma independiente.
Si deseamos disponer de diversos semáforos independientes entre sí, en el
sentido de quecada semáforo pueda encontrarse en un estado diferente a los demás,
obligatoriamente debemos crear (instanciar) cada uno de estos semáforos.
Para declarar un objeto de una clase dada, empleamos la sintaxis habitual:
Tipo Variable;
En nuestro caso, el tipo se refiere al nombre de la clase:
Semaforo MiSemaforo;
De esta manera hemos creado un apuntador (MiSemaforo ) capaz de
direccionar unobjeto (una instancia) de la clase Semaforo :
MiSemaforo
Para crear una instancia de la clase Semaforo , empleamos la palabra
reservada new, tal y como hacíamos para crear una instancia de una matriz; después
invocamos a un método que se llame igual que la clase. Estos métodos se
denominan constructores y se explicarán un poco más adelante.
MiSemaforo = new Semaforo();
También podemos declarare instanciar en la misma instrucción:
Semaforo MiSemaforo = new Semaforo();
En cualquier caso, el resultado es que disponemos de una variable
MiSemaforo que direcciona un objeto creado (instanciado) de la clase Semaforo:
Podemos crear tantas instancias como necesitemos:
Semaforo MiSemaforo = new Semaforo();
Semaforo OtroSemaforo = new Semaforo();
86
JAVA A TRAVÉS DE EJEMPLOS
©JESÚS BOBADILLA SANCHO (JBOBI@EUI.UPM.ES)
Semáforo SemaforoDeMiCalle = new Semaforo();
El resultado es que disponemos del tipo Semaforo (de la clase Semaforo ) y
de tres instancias (MiSemaforo , OtroSemaforo, SemaforoDeMiCalle ) de la clase:
Es importante ser consciente de que en este momento existen tres variables
diferentes implementando la propiedad EstadoSemaforo; cada una de estas...
Regístrate para leer el documento completo.