Directriz: Identificación de clases de Java
Esta directriz trata la forma en que identificar y modelar clases de Java para una aplicación J2EE.
Relaciones
Elementos relacionados
Descripción principal

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.

Diagrama descrito en el texto adjunto. 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;
}
}