viernes, 23 de enero de 2009

Programación Orientada a Objetos

La POO o Programacion Orientada a Objetos es un paradigma de programación, basado en la abstracción de la información, generando objetos que se comunican entre si mediante el paso de mensajes. Este paradigma surge en los años 70
Los conceptos fundamentales de la Programacion Orientada a Objetos son:

Clase:
Una clase es una plantilla o prototipo para la creación de objetos, por lo tanto un objeto es una instancia de la clase.

Objeto:
Un Objeto es una abstracción de un hecho o cosa que se asemeja a un hecho o cosa del mundo real. Las propiedades de estos objetos representan las caracteristicas de los hechos o cosas que representan. Los métodos de los objetos representan el comportamiento de esos hechos o cosas.


Metodo.
Un método es una funcion que puede ser invocada para un objeto especifico y es mediante el cual se pasan mensajes entre si los demas objetos.

Evento
Un evento es una acción que se ejecuta en un determinado momento. por ejemplo al dar click on el mouse o presionar una tecla o cerrar una ventana.

Mensaje
Por mensaje se le conoce a los parametros de entrada y valores de retorno de una funcion. Los objetos se comunican mediante el paso de mensajes y estos mensajes llegan a otros objetos por medio de las funciones en los argumentos de las funciones y en las respuestas

Propiedad o Atributo
Una propiedad o atributo define las características del objeto.


Abstraccion
La abstracción es algo con lo que estamos muy familiarizados, solo falta aterrizar el concepto. Cuando mensionamos a una Persona, o hablamos en general de animales, estamos usando informacion abstracta, por que no estamos especificando de que persona estamo hablando por lo tanto persona, animal o figura son conceptos abstractos y Juan, Firulais y Circulo son conceptos concretos. Por lo tanto la abstraccion nos permite denotar las caracteristicas esenciales de un objeto, comportamiento, estados internos y nos permite definir un modelo abstracto que nos permitira crear instancias u objetos concretos para nuestra aplicacion.

Encapsulamiento
Por encapsulamiento significa que los objetos deben de tener sus atributos o propiedades metodos y funciones a un mismo nivel de abstraccion. Cada objeto esta encargado de hacer lo que le pertenece. Supongamo que tenemos un Objeto Caballero y un objeto Mision. El caballero puede ejecutar una mision, ya sea rescatar a la princesa o matar al dragon. Pero el caballero no define como es la mision, ni la mision como es el caballero.

Principio de ocultación
Esto nos ayuda a protejer la información. Dando permisos usando los modificadores de acceso (private, protected y public) ocultamos la informacion, haciendo posible poder validar la informacion o mensajes que llegan a los objetos para asegurar la cohesion de la informacion que contienen.

Polimorfismo
En la POO el polimorfismo nos ayuda a lograr que objetos de un mismo tipo tengan comportamiento diferente, usando las tecnicas de sobrecarga y herencia.

Herencia
La herencia no ayuda a generar nuevos tipos de datos que adoptan (o bien heredan) las caracteristicas de otros objetos previamente definidos.


Para mas información lea: http://es.wikipedia.org/wiki/POO

No hay comentarios: