lunes, 24 de agosto de 2015

1.1. Introducción a la POO

No hay comentarios :

La Programación Orientada a Objetos (POO)

Es un paradigma de programación basado en instanciar objetos a partir de clases para su posterior uso, es decir crear objetos a partir de moldes (clases), con los cuales se pueden desarrollar aplicaciones y programas de computadora. Algunas características de este tipo de programación son la herencia, la modularidad, el polimorfismo, y el encapsulamiento.

El uso de la POO se popularizó en los inicios de la década de 1990, aún cuando sus orígenes son anteriores a esa fecha. Por lo cual, actualmente, existe una gran variedad de lenguajes de programación que la implementan.

Su uso a venido a disminuir la cantidad de desarrollos basados en el paradigma de programación estructurado, sin embargo el código generado para las aplicaciones basadas en POO contienen varios fragmentos de código que están basados en las programación estructurada.

La POO tiene su origines con el lenguaje de programación simula 67, un lenguaje empleado en la realización de simulación, aunque su gran auge se debe particularmente al la extensión del lenguaje de programación C: C++. C++ permitió crear aplicaciones con enfoque hacia entornos gráfico lo que popularizo su uso.

Ahora que ya se tiene una primera impresión sobre la POO, es importante
identificar algunos de sus principales conceptos, mismos que se listan a
continuación:

  1. 1. Clase: puede definirse como una plantilla que determina las propiedades (atributos) y comportamientos (métodos) que puede tener un objeto en particular. 
  2. 2. Objeto: es la instancia de una clase, es decir la entidad que poseerá los atributos y métodos que se hayan definido en la clase.
  3. 3. Atributos: son las características que posee una clase. 
  4. 4. Visibilidad: es el ámbito sobre el que pueden trabajar los atributos y métodos. 
  5. 5. Mensaje: es una comunicación dirigida hacia un objeto, que le indica que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. 
  6. 6. Métodos: son las acciones que puede realizar una clase, generalmente ejecutar una de estas acciones modificará las características del objeto, o inclusive enviar un mensaje a otro sistema. 
  7. 7. Herencia: consiste en retransmitir los atributos y métodos de una clase a otra, generalmente se implementa cuando se tienen dos o más clases que son diferentes, pero que comparten atributos o métodos en común, por lo cual se creará una clase que heredará estos atributos a las diversas clases, aunque cada una de estas puede tener otros atributos o métodos propios.

Entonces, las clases son moldes que permiten crear (instanciar) diferentes objetos, siempre y cunado estos mantengan ciertas características de la clase, pero se permite modificar el valor de la característica. Por ejemplo, si se considera una persona como una clase, esta puede tener la característica de altura, entonces al crear a los objetos Juan y Pedro, estos deberán tener la característica de altura, pero cada uno puede tener asignado un valor diferente para la altura; Juan puede medir 1.70m, mientras que Pedro 1.85m.

Para que quede un poco más claro esto de la POO realicemos una analogía que permita comparar la POO con un pastel.

Cuando se desea preparar un pastel (el objeto), generalmente se requiere de un molde (la clase), la cual tendrá diferentes características (atributos), como podrían ser forma, capacidad, altura, grosor y sabor (no del molde, sino de los ingredientes), entre otros. Por lo tanto, si el molde se define como circular, no podremos obtener pasteles cuadrados, pero aún cuando no podemos modificar la capacidad del molde, si vertemos menos masa, si se podría obtener un pastel menos alto. Por último, el pastel puede tener diferentes acciones (los métodos), por ejemplo revolver ingredientes, amasar, cocinar, desmoldar y decorar, entre otros.

En la siguiente figura se representa gráficamente lo expuesto.



NOTA: Durante el tema de herencia podremos ver a más profundidad estos conceptos, ya que en este ejemplo se toma al molde como clase, pero como existen diferentes tipos de moldes, el molde por si mismo es un objeto.

No hay comentarios :

Publicar un comentario