Introducción
En una aplicación Java, las clases de Java son los elementos constructivos fundamentales de todas las construcciones de
implementación como, por ejemplo, JavaBeans, EJB, servlets y applets. Toda la implementación lógica se proporciona con
las clases de Java.
Las clases son plantillas de las que se crean objetos. Las clases encapsulan estructuras de datos junto con algoritmos
para manipular los datos. Una clase normalmente es una fábrica de los objetos que define.
En esta directriz no se explica en detalle el concepto de las clases o el diseño orientado a objetos. En el resto de la
sección se presupone que el lector está familiarizado con el diseño orientado a objetos. Si desea información detallada
sobre el diseño orientado a objetos, consulte la sección de referencias.
Características de las clases de Java
Las clases de Java incluyen:
-
Funciones de miembro
-
Datos de miembros
-
Funciones estáticas
-
Datos estáticos
-
Herencia
-
Implementación de interfaces
Las funciones de miembro implementan parte del comportamiento relacionado con objetos individuales. Las funciones de
miembro se ejecutan en el contexto de un objeto individual.
Los datos de miembro definen las estructuras de datos de los objetos, en forma de un conjunto de declaraciones de
variables. En principio sólo se accede a los datos de miembro a través de las funciones de miembro.
Las funciones estáticas son métodos que se ejecutan fuera del contexto de los objetos individuales que definen.
Los datos estáticos pertenecen a la clase que los define más que a los objetos individuales que define. En una
aplicación en ejecución hay una, y sólo una, instancia de datos estáticos. De forma habitual, sólo se accede a los
datos estáticos mediante funciones estáticas, a pesar de que algunos diseños llaman directamente a las instancias
accediendo a los datos estáticos.
Las clases Java se pueden relacionar mediante la herencia, que se expresa en Java con la palabra clave "extends". La
herencia proporciona una técnica sofisticada para reutilizar código, permite que los diseñadores extraigan estructuras
de datos y comportamientos comunes en superclases, dejando el comportamiento específico en subclases.
Una interfaz declara un conjunto de métodos cuya implementación está proporcionada por las clases. Una clase puede
implementar varias interfaces y muchas clases pueden implementar interfaces. La separación de la interfaz de la
implementación incrementa la disociación de las clases. El acceder a los objetos mediante interfaces proporciona una
forma clara de utilizar el polimorfismo.
Identificación de clases de Java
En una aplicación J2EE, se pueden identificar las clases de Java para dar soporte al diseño de elementos J2EE. Consulte
las directrices que se indican a continuación para obtener más información sobre la identificación de estos otros
elementos:
Las directrices para identificar clases Java adicionales no son distintas que las directrices para identificar
cualquier otro tipo de clases. Consulte la sección Tarea: Identificar elementos de diseño en el diseño en tiempo real.
Modelado de clases de Java
Las clases de Java se modelan como clases UML.
En el diagrama que aparece a continuación, se muestra la representación UML de una clase Java y el correspondiente
código fuente Java.
|
class MyClass {
private int myMemberData;
private String myOtherMemberData;
private static int myStaticData;
public int getMyMemberData() {
return this.myOtherMemberData;
}
public static int getMyStaticData() {
return MyClass.myStaticData;
}
}
|
|