viernes, 8 de abril de 2011

Cómo se traduce en código Una Clase UML

Bien hoy veremos unos puntos importantes a la hora de leer una clase en UML para poder convertirla en cualquier lenguajes de programacion.

El lenguaje que ocuparemos es PHP porque usare este pues pienso que en la web es lo que menos se toca y eso le da un poco mas de originalidad.

Aunque PHP es un poco trabado orientado a objetos tratare de explicarlo lo mas simple posible.
Vamos a ir por partes y paso a paso yo se que algunos dira jaaaa que facil lo que esta posteando pues no es asi de simple esto de orientacion a objetos es un arte y para poder hacer nuestra arquitectura de desarrollo es necesario empezar con lo basico.

bien empezemo repasando un poco lo visto hasta ahora sabemos teoria acerca de la POO y un poco de UML mas que todo de diagramas de clases tambien sabemos la estructura de una clase.

Sección #1 – nombre de la clase
Siguiendo la nomenclatura del estándar, deberíamos primero crear un archivo / fichero con el mismo nombre que la clase: Persona.php no persona.Class.php seguiremos el estandar de ZEND
Posteriormente, todo se traduce en:

Bien esta clase Persona que vemos en UML seria asi en codigo .

Los nombres de las clase siempre la primera letra en mayuscula.

Sección #2 – los atributos de la clase
Según el diagrama, tenemos 3 atributos, todos “privados” (signo “-“) y dos serán de tipo “String” (cadena de caracteres) y uno de tipo Int (entero).



Aquí es donde tenemos que interpretar el diagrama y ajustarlo a nuestro lenguaje. Si quisiéramos traducir esta clase a Java no tendríamos problema porque existen “clases base” (ya que en Java “todo es un objeto”) como String, Integer, Date, etc. Pero, como no tenemos esta posibilidad en PHP (aún, espero que en un futuro cercano sí), tendremos que dejarlo como esta en la imagen asi como declaramos variables simples en php.

Nota: perfectamente podríamos haber usado una traducción directa de los atributos y decir que son $nombre, $apellido y $fechaNacimiento, pero como estamos siguiendo el estándar definido por Zend, usaremos el agregado $_ para todos los atributos que son “privados”. No olvidar, esto no es un problema que debe contemplar UML, ya es un problema del lenguaje de turno, en nuestro caso, PHP.

Sección #3 – los métodos de la clase
Finalmente, la traducción de los métodos. Aquí tenemos un método público (signo “+”), que recibe un parámetros y luego de los “:” representan qué tipo de valor retornará (en este caso será un número entero que representará la edad).

bien como vemos ya tenemos la estructura de una clase con sus propiedades privadas aplicando encapsulamiento que solo ella "La Clase" pueda accesar desde ella misma a esas propiedades desde un metodo publico.

Mas adelante haremos un ejercicio simple aplicando ya html y codigo PHP que hace el llamado a a esta clase que acabamos de crear.

comenten no sean bayuncos...

No hay comentarios:

Publicar un comentario