Programación Orientado a Objetos

miércoles, 1 de enero de 2014



"Encuentra un trabajo que te guste y no volverás a trabajar ni un sólo día de tu vida"
 Confucio
La POO es de manera  simplificada  un sistema de programación que utiliza objetos para la resolución de problemas, interrelacionándolos mediante mensajes.
Es decir que la Programación Orientada a Objetos aparece como una evolución natural en los paradigmas de programación que busca solucionar los principales problemas del paradigma anterior.
Los Objetivos principales de este paradigma son los siguientes:
  • Distinta abstracción del mundo.
  • Dificultad en modificación y actualización.
  • Dificultad en mantenimiento.
  • Dificultad en reutilización.


Caracteristicas de la Programacion Orientada a Objetos






Conceptos de clase y objeto, que proporcionan una abstracción del mundo centrada en los seres y no en los verbos.
Los datos aparecen encapsulados dentro del concepto de clase.
El acceso a los datos se produce de manera controlada e independiente de la representación final de los mismos.
Como consecuencia, se facilita el mantenimiento y la evolución de los sistemas, al desaparecer las dependencias entre distintas partes del sistema.
Mediante conceptos como la composición, herencia y polimorfismo se consigue simplificar el desarrollo de sistemas.
La composición y la herencia nos permiten construir clases a partir de otras clases, aumentando en gran medida la reutilización.




Objetos y Clases


Mediante la POO, a la hora de tratar un problema, podemos descomponerlo en subgrupos de partes relacionadas. Estos subgrupos pueden traducirse en unidades auto contenidas llamadas objetos. Antes de la creación de un objeto, se debe definir en primer lugar su formato general, su plantilla, que recibe el nombre de clase.
Una clase, por lo tanto, puede definirse como un tipo de datos cuyas variables son objetos o instancias de una clase. Puede decirse que el concepto de clase es estático y el concepto de objeto es dinámico; ya que, sólo existe en tiempo de ejecución. Cada objeto de una clase comparte con el resto las operaciones, y a la vez posee sus propios valores para los atributos que posee:
Esto es, su estado. Las operaciones, también llamadas mensajes, se usarán tanto para cambiar el estado de un objeto como para comunicar objetos entre sí mediante el paso de mensajes.


Pilares del Paradigma a Objetos


Abstracción


Esta es una cualidad de los seres humanos que les permite encontrar lo básico que hay de común en una serie de objetos. Mediante la abstracción la mente humana modela la realidad en forma de objetos. Los seres humanos no pensamos en las cosas como un conjunto de cosas menores; por ejemplo, no vemos un cuerpo humano como un conjunto de células. Los humanos entendemos la realidad como objetos con comportamientos bien definidos. No necesitamos conocer los detalles de porqué ni cómo funcionan las cosas; simplemente solicitamos determinadas acciones en espera de una respuesta; cuando una persona desea desplazarse, su cuerpo le responde comenzando a caminar. Pero la abstracción humana se gestiona de una manera jerárquica, dividiendo sucesivamente sistemas complejos en conjuntos de subsistemas, para así entender más fácilmente la realidad. Esta es la forma de pensar que la orientación a objeto intenta cubrir.



Encapsulación


Una de los pilares básicos de la POO es la encapsulación de los datos. Según los principios de este paradigma de programación, el acceso a los datos de una clase debe realizarse de forma controlada, protegiéndolos de accesos no deseados. Cuando se desarrolla una aplicación, a veces es necesario ocultar los tipos de datos usados para que el usuario permanezca independiente de los detalles de los mismos.
La encapsulación es el mecanismo que enlaza el código y los datos, a la vez que los asegura frente a accesos no deseados. La principal razón del uso de la encapsulación es evitar el acceso directo a atributos de una clase desde fuera de la propia clase. Se busca, principalmente, que el acceso a estos atributos se realice siempre mediante funciones miembro de la propia clase. El acceso a ciertos elementos de datos se puede controlar de forma estricta considerándolos privados.

Polimorfismo

El polimorfismo es el tercer pilar de la programación orientada a objetos. Supone un paso más en la separación entre la interfaz y la implementación. Permite mejorar la organización del código y simplificar la programación. Además, aumenta las posibilidades de extensión y evolución de los programas.
Está directamente relacionado con las jerarquías de clase. Básicamente, nos va a permitir que unos objetos tomen el comportamiento de objetos que se encuentran más abajo en la jerarquía, aumentando enormemente la expresividad del lenguaje. En definitiva, se trata de la posibilidad de que la identificación del tipo de un objeto se haga en tiempo de ejecución en vez de en tiempo de compilación. De esta manera, se pueden, incluso, construir estructuras en las que cada uno de sus elementos es de un tipo diferente.



Herencia


Se puede agregar que la herencia es el proceso por el cual un objeto adquiere las propiedades de otro objeto.  Por ejemplo, un perro es un mamífero, y los mamíferos son animales, y los animales seres vivos. Del mismo modo,  se promueve en gran medida que las relaciones entre objetos se basen en construcciones jerárquicas. Esto es, las clases pueden heredar diferencialmente de otras clases (denominadas "superclases") determinadas características, mientras que, a la vez, pueden definir las suyas propias. Tales clases pasan, así, a denominarse "subclases" de aquéllas.



0 comentarios :

Publicar un comentario

 
Taller de desarrollo c++ © 2013 | Designed by Alexander C.P , in collaboration with cienciaeducacion100 , Ciencias y Sistemas and cienciaeducacion100@gmail.com