Cargando



UML - Orientación a Objetos

En este tutorial vamos a explicar la orientación a objetos y sus paradigmas, de forma que podamos tener una base para entender porque UML es como es y como nos facilita la vida para hacer la creación de software orientado a objetos.


dic 05 2013 15:07
Intermedio
dic 09 2013 10:15
Desde su concepción, la orientación a objetos ha sido una revolución en el mundo del desarrollo de software, ya que su visión de programas similares a las cosas de la vida real la hacen muy versátil.

Al utilizarla para la construcción de programas nos da pie a que implementemos metodologías modulares, de forma que podamos extender la funcionalidad del programa agregando nuevos módulos o incluyendo nuevos métodos en módulos ya existentes.

Objetos

Iniciamos con objetos, ya que es una de las unidades que más utilizaremos, podemos definir el objeto como la instancia de una clase, es decir una unidad con los atributos de la clase ya con valores, con ello podemos tener muchos objetos diferentes pero de una misma clase, como por ejemplo una clase persona, dos personas tienen nombres diferentes, edades diferentes, estaturas diferentes, sin embargo pueden hacer las mismas acciones como comer, caminar, hablar, dependiendo de su nacionalidad una persona podrá hablar inglés y la otra francés, lo que acabamos de hacer es instanciar dos objetos.

En este caso la clase es una plantilla con la cual podemos crear los objetos, cuando definimos una clase en UML podemos verla como una lista o estructura bajo la cual el objeto será creado.

Veamos un ejemplo con el siguiente gráfico:

uml_oriobj1.jpg


Si tenemos en cuenta que la orientación a objetos nos permite modelar cosas de la vida real, entonces debemos decir que mientras más extensas nuestras clases, mayor detalle y similitud tendremos con el mundo real, vamos a extender un poco más esta clase Lavadora:



uml_oriobj2.jpg


Podemos ver que con esta extensión de los atributos y métodos de la clase lavadora la acercan mucho más al objeto de la vida real, si en este momento instanciáramos esta clase utilizando los atributos de la lavadora que tenemos en casa, nos sorprenderemos gratamente al ver la semejanza con nuestro diagrama.

Abstracción

Este concepto es muy importante, ya que nos permite construir clases generales con las que podremos dar vida a nuestro sistema y ahorrar trabajo con la generación de clases posteriores.

Podemos decir que la abstracción es la definición de una clase con todos los atributos que son realmente necesarios y son los que dan la unicidad de la clase, es decir, atributos sin los cuales una clase no puede reflejar su símil de la vida real.

Si vemos nuestro ejemplo anterior, vemos que hay atributos sin los cuales la clase Lavadora seguiría definiendo una lavadora, es decir, que no cambian el sentido y significado la clase, cuando hacemos este análisis estamos realizando una abstracción de clases.

Herencia

La herencia es otro de los puntos que hacen tan atractiva la orientación a objetos, cuando realizamos una buena abstracción, quedamos con una clase bastante general y de amplio espectro, que pasa si queremos detallar algo más específico, creamos una nueva clase, pero si esta clase va a llevar bastantes atributos de nuestra clase general ¿vale la pena repetir?; como habrán pensado la respuesta es un no, no hay que repetir cosas que ya están hechas, para ello tenemos la herencia donde una clase puede heredar los atributos y métodos de otra y de esta forma agregar sus propios atributos y métodos para de esta forma obtener su distinción.

Veamos la siguiente imagen para ilustrarnos sobre el asunto:



uml_oriobj3.jpg


Como vemos de nuestra clase electrodoméstico, podemos sacar 3 subclases que aunque comparten atributos como nombre y marca, pueden tener diferencias los suficientemente marcadas como para tener objetos diferentes.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X