viernes, noviembre 10, 2006

PARADIGMA ORIENTADO A OBJETOS

INTRODUCCIÓN:

Una programación tradicional se compone de procedimientos y de datos. Un programa orientado a objetos consiste solamente en objetos, entendiendo por objeto una entidad que tiene unos atributos particulares, los datos, y una forma de operar sobre ellos, los métodos o procedimientos.

La programación orientada a objetos es una de las técnicas más modernas que trata de disminuir el coste del software, aumentando la eficiencia en la programación y reduciendo el tiempo necesario para el desarrollo de una aplicación. Con la programación orientada a objetos, los programas tienen menos lineas de código, menos sentencias de bifurcación y modulos que son más comprensibles porque reflejan de una forma clara la relación existente entre cada concepto a desarrollar y cada objeto que interviena en dicho desarrollo. Donde la programación orientada a objetos toma verdadera ventaja es en la compartición y reutilización del código.

Según lo expuesto las ventajas de la POO son sustanciales. No obstante, también presenta algunos inconvenientes: como por ejemplo para conseguir buenos resultados es preciso dedicar un tiempo significativo, superior al análisis y al diseño, aunque no sea un tiempo perdido pues ayudará a simplificar enormemente la realización de aplicaciones futuras. O que la ejecución de un programa no gana velocidad y obliga al usuario a aprenderse una amplia biblioteca de clases antes de empezar a manipular un lenguaje orientado a objetos.

LA PROGRAMACIÓN ORIENTADA A OBJETOS:

La programación orientada a objetos (POO) es un modelo de pragramación que utiliza objetos, ligados mediante mensajes, para la solución de problemas. La idea central es simple: organiza los programas a imagen y semejanza de la organización de los objetos en el mundo real.

CLASES Y OBJETOS:

Dos propiedades importantísimas de las clases son la Herencia y el Encapsulamiento. Entonces, ¿qué es una clase?, podemos definir que una clase es la generalización de un tipo específico de objetos, pero cada objeto que constuyamos de esa clase tendrá sus propios datos.

Un objeto de una determinada clase se crea en el momento en el que se define una variable de dicha clase. Por lo tanto los objetos se crean a partir de las clases que los representan, haciendo de este modo que la clase sea una entidad general mientras que los objetos a partir de ellas sean casos mas concretos de lo que se quiera representar.

MENSAJES Y MÉTODOS:

Un POO se compone solamente de objetos. Cada uno de ellos es una entidad que tiene unas propiedades particulares, los atributos, y una forma de operar sobre ellos, los métodos.

Cuando se ejecuta un POO, los objetos estan recibiendo, interpretando y repondiendo a mensajes de otros objetos. En la POO un mensaje esta asociado a un método, de tal forma que cuando un objeto recibe un mensaje la respuesta a este mensaje es ejecutar el método asociado.

Un método se escribe en una clase de objetos y determina como tiene que actuar el objeto cuando recibe el mensaje vinculado a ese método. A su vez un método puede enviar mensajes a otros solicitando una infotmación o acción. En adicción, los atributos definidos en una clase permitirán almacenar información para dicho objeto.

CONSTRUCTORES:

Un constructor es un método especial de una clase que es llamado automáticamente siempre que se crea un objeto de esa clase. Su función es iniciar el objeto.

Un constructor se distingue facilmente porque tiene el mismo nombre que la clase a la que pertenece no retorna un valor, ni siquiera se puede especificar con la palabra reservada void. Los constructores salvo casos especiales, deben ser declarados siempre públicos para que puedan ser invocados desde cualquier parte.

HERENCIA:

La herencia es una de las características más importantes de la POO ya que permite que las clases hereden los atributos y métodos de otras clases (excepto los constructores que no son heredables). Esta característica garantiza la reutilización de código.

Con la herencia todas las clases estan clasificadas en una jerarquía estricta. Cada clase tiene su superclase (la clase superior en la jerarquí, o también llamada clase base), y cada clase puede tener una o más subclases (las clases inferiores, también denominadas clases derivadas).

Las clases que estan el la parte inferior de la jerarquía se dice que hereden delas clases que estan en la parte superior de la misma.

El término heredar significa que las subclases disponen de todos los métodos y propiedades de su superclase. Este mecanismo proporciona una forma rápida y cómoda de extender la funcionalidad de una clase.

CARACTERÍSTICAS DE LA POO:

Abstracción de datos: la abstracción de datos permite no preocuparse de los detalles no esenciales. Existe en casi todos los lenguajes de programación. La estructura de datos y los tipos de datos son un ejemplo de abstracción. Los pracedimientos y funciones son otro ejemplo.

Uniformidad: ya que la representación de los objetos implica tanto el análisis como el diseño y la codificación de los mismos.

Compresión: tanto los datos que componen los objetos, como los procedimientos que los manipulan, están agrupados en clases, que se corresponden con las estucturas de información que le programa trata.

Flexibilidad: al tener relacionados los procedimientos que manipulan los datos con los datos a tratar, cualquier cambio que se realice sobre ellos quedará reflejado automáticamente en cualquier lugar donde estos datos aparezcan.

Estabilidad: dado que permite un tratamiento diferenciado de aquellos objetos que permanecen constantes en el tiempo sobre aquellos que cambian con frecuencia permite aislar las partes del programa que permanecen inalterables en el tiempo.

Reusabilidad: la noción de objeto permite que programas que traten las mismas estructuras de información reutilicen las difiniciones de objetos empleados en otros programas e incluso los procedimientos que los manipulan. De esta forma, el desarrollo de un programa puede llegar a ser una simple combinación de objetos ya definidos donde estos están relacionados de una manera particular.

CARACTERÍSTICAS DE LOS OBJETOS:

Encapsulación y ocultación de datos: la capacidad de presentación de información dentro de un objeto se divide en dos partes bien diferenciadas:
  • Interna: la información que necesita el objeto para operar y que es innecesaria para los demás objetos de la aplicación. Estos atributos se denominan privados y tienen como marco de aplicación unicamente a las operaciones asociadas al objeto.
  • Externa: la que necesitan el resto de los objetos para interactuar con el resto de los objetos que definamos. Estas propiedades se denominan públicas y corresponden a la información que necesitan conocer los restantes objetos de la aplicación.
Mantenibilidad: cualidad que indica que un programa o sistema debe ser facilmente modificable. El concepto de mantenibilidad implica que un programa, al igual que un se vivo, debe ser capaz de adaptarse a un medio ambiente que siempre es cambiante.

Polimorfismo: es una nueva característica aportada por la POO. Indica la posibilidad de definir varias operaciones con el mismo nombre, diferenciandolas unicamente en los parámetros de entrada.

CONCLUSIÓN:

Podemos decir que nos escontramos con un lenguaje muy versátil y que nos brinda un sinfin de posibilidades a la hora de programar nuestras aplicaciones. Un lenguaje que acerca dichas aplicaciones a una estructura más típica del mundo real, potente y fácil de programar. A si mismo podemos encontrar multitud de plataformas que hoy en día utilizan la orientación a objetos, como por ejemplo las bases de datos orientadas a objetos.

Sin mas dilación termino este articulo que espero que sea de agrado y ayude a la hora de introducirse en el mundo de la POO.

BIBLIOGRAFÍA:

Programacón Orientada a Objetos con C++; Por Fco Javier Ceballos, Editorial Ra-Ma.

WEBBIOGRAFÍA:

http://www.monografias.com/trabajos14/progorie/progorie.shtml
http://www.webcontenido.com/computadores/45

Realizado por: Diego Garcia Saborido