domingo, 3 de abril de 2011

Como Representar Una Clase UML En Código

“Conceptos Generales”
Primera Regla: de nomenclatura, los nombres de las clases son siempre en singular y la primer letra de cada palabra en mayúsculas (CamelCase), al revés de los nombres de las tablas de una base de datos, generalmente en plural y en minúsculas:

  • Tablas en base de datos: personas, animales,usuarios usuarios_administradores
  • Clases en POO: Persona, Animal, Usuario, UsuarioAdministrador
Mi primer diagrama UML
Definamos un contexto para luego diseñarlo con UML:
“Una persona tiene nombre, apellido y fecha de nacimiento, cuando se le pregunta qué edad tiene, responde con su edad que calcula en base a la fecha de nacimiento”

Y el diagrama UML debería verse de la siguiente manera:

  • Clase hecha con el plugin de UML en netbeans 6.9
Ahora veremos en mas detalle que significa ese cuadrado amarillo que se llama diagrama de clase en el lenguaje UML.


La Sección #1 es para definir el nombre de la clase (como explicamos al principio, usando CamelCase).

La Sección #2 es para definir los atributos de nuestra clase (CamelCase, pero a diferencia de las clases, inician con minúscula), la visibilidad de cada uno (el signo “-“ para privado, el signo “+” para público) y qué tipo de dato debería ser (no importa si el lenguaje lo soporta exactamente, recuerda que UML es independiente del lenguaje) .

La Sección #3 es para definir los métodos de nuestra clase (CamelCase, igual que con los atributos), la visibilidad de cada uno, los parámetros que pueden recibir y si retornan o no alguna información (para ambos casos, especificando el tipo de dato).

Regla: “todos los atributos de una clase son por defecto no-públicos”.
Existe una convención (que casi no se discute) desde los principios de la POO que si cualquiera desde el exterior puede conocer y modificar los atributos de un objeto, y por ende, su “estado”, todo diseño será débil (este tema lo veremos más en profundidad cuando tratemos el tema “métodos accesores / modificadores” los famosos getter y setter).

comenten no sean bayuncos...

No hay comentarios:

Publicar un comentario