viernes, marzo 02, 2007

Repaso de diagramas de clase

UML es la mejor forma de comunicar ideas y conceptos entre un equipo de programación. Es muy fácil de usar una vez que se tiene clara la simbología.

Los diagramas de clase los usamos para describir las clases de un sistema y sus relaciones entre ellas.

En este diagrama se muestra a la Clase 1, que hereda características de la Clase A e implementa operaciones de la interfaz Q

La Clase 2 instancia un objeto de la Clase 1 llamado atributo3, a esto se le llama composición (composition)

Esto en Java quedaría así:
/**
 * Class Clase_1
 * 
 */
public class Clase_1 extends Clase_A implements Interfaz_Q {
// Fields
// 
private int atributo1;
// 
private int atributo2;
// Methods
// Constructors
// Accessor Methods
/**
   * Get the value of atributo1
   * 
   * @return the value of atributo1
   */
private int getAtributo1 (  ) {
return atributo1;
}
/**
   * Set the value of atributo1
   * 
   * 
   */
private void setAtributo1 ( int value  ) {
atributo1 = value;
}
/**
   * Get the value of atributo2
   * 
   * @return the value of atributo2
   */
private int getAtributo2 (  ) {
return atributo2;
}
/**
   * Set the value of atributo2
   * 
   * 
   */
private void setAtributo2 ( int value  ) {
atributo2 = value;
}
// Operations
/**
   * 
   * @return   
   */
public  operacion1 ( ) {

}
}



/**
 * Class Clase_2
 * 
 */
public class Clase_2 {
// Fields
// 
private int atributo1;
// 
private int atributo2;
// 
private Clase_1 atributo3;
// Methods
// Constructors
// Accessor Methods
/**
   * Get the value of atributo1
   * 
   * @return the value of atributo1
   */
private int getAtributo1 (  ) {
return atributo1;
}
/**
   * Set the value of atributo1
   * 
   * 
   */
private void setAtributo1 ( int value  ) {
atributo1 = value;
}
/**
   * Get the value of atributo2
   * 
   * @return the value of atributo2
   */
private int getAtributo2 (  ) {
return atributo2;
}
/**
   * Set the value of atributo2
   * 
   * 
   */
private void setAtributo2 ( int value  ) {
atributo2 = value;
}
/**
   * Get the value of atributo3
   * 
   * @return the value of atributo3
   */
private Clase_1 getAtributo3 (  ) {
return atributo3;
}
/**
   * Set the value of atributo3
   * 
   * 
   */
private void setAtributo3 ( Clase_1 value  ) {
atributo3 = value;
}
// Operations
}


/**
 * Class Clase_A
 * 
 */
public class Clase_A {
// Fields
// 
private int atributoA1;
// Methods
// Constructors
// Accessor Methods
/**
   * Get the value of atributoA1
   * 
   * @return the value of atributoA1
   */
private int getAtributoA1 (  ) {
return atributoA1;
}
/**
   * Set the value of atributoA1
   * 
   * 
   */
private void setAtributoA1 ( int value  ) {
atributoA1 = value;
}
// Operations
}



/**
 * Interface Interfaz_Q
 * 
 */
public interface Interfaz_Q {
// Methods
// Constructors
// Accessor Methods
// Operations
/**
   * 
   * @return   
   */
public  operacion1 ( );
}

Todo muy sencillito, es el primer paso para comprender las relaciones. Todos los archivos fueron generados automáticamente con Umbrello después de dibujar el diagrama de clases.

3 comentarios:

Marxtamoros dijo...

Muy interesante porque no hiciste el blog hace dos años cuando quise programar en JAVA? CHINGAU

Estuardolh dijo...

No muestra la imagen, podrias arreglarlo, bien... para los demas :)

Gracias

juparave dijo...

Ya está, nueva imagen. La anterior desapareció http://www.webshots.com no tengo idea por qué. Esta ahora está alojada en Picassa