Sie sind auf Seite 1von 5

Universidad Distrital Francisco Jos De Caldas. Perilla Vargas. Programacin Orientada A Objetos: Detalles.

Introduccin a la Programacin Orientada A Objetos.


Perilla Vargas, Pedro Joaquin. pejopv@hotmail.com Universidad Distrital Francisco Jos De Caldas fsicas o conceptuales) luego se identifican sus propiedades/atributos bsicos. Despus se determina que pueden hacer las cosas (Comportamiento). Se pueden agrupar todas las propiedades y comportamientos juntos en una estructura coherente llamada objeto. Al escribir un programa de POO se definen objetos, se crean y se hace interactuar uno con otro.

ResumenLa tecnologa orientada a objetos es una vieja y madura tecnologa, su historia se remonta a los aos sesenta, uno de los lenguajes orientados a objetos ms antiguos es Simula el cual fue desarrollado en 1967. El desarrollo de programas orientados a objetos es un enfoque diferente del mundo de la informtica, nos invita a la creacin de modelos del mundo real para basarse en esos modelos, se compone de la creacin de un modelo del mundo real lo cual nos conlleva a un resultado final el cual es un programa que contiene caractersticas que representan algunos objetos del mundo real que son parte del suceso. El principio fundamental de la programacin orientada a objetos es que un sistema se ve como una secuencia de transformaciones en un conjunto de objetos. El trmino objeto tiene el mismo significado que un nombre o una frase nominal. La mayora de los objetos del mundo real poseen atributos, son caractersticas que los describen. El comportamiento (behavior) es lo que puede hacer el objeto. En conclusin se puede decir que un objeto conoce cosas y hace cosas, lo que conoce son los atributos y lo que hace es su comportamiento. Los principios en que se apoyan las tecnologas orientadas a objetos son: Objetos como instancia de una clase Mtodos Mensajes
Las caractersticas que ayudan a definir a un objeto son: Encapsulamiento Modularidad Abstraccin Polimorfismo Las clases se organizan para modelar el mundo real en las siguientes relaciones: Herencia Agregacin Asociacin Uso El paradigma de programacin de la POO invita a pensar en lo que se desea que represente el programa. Normalmente se responde esta invitacin identificando algunas cosas en el mundo que se desea que el programa modele (Entidades

ndice de TrminosCaractersticas de la POO, Historia de la POO, Paradigma de programacin de la POO, Tecnologa orientada a objetos, Evolucin de los lenguajes OO.

I.INTRODUCCIN Este artculo de revisin trata sobre la temtica de programacin, en especfico la programacin orientada a objetos (Tecnologa orientada a objetos) se define este tipo de programacin y algunos conceptos base que son fundamentales para la POO. Se hace un recorrido desde los inicios de la formacin de la POO comenzando con los lenguajes pioneros de la POO como lo es el Simula67 que introdujo el concepto de clase, se responde a la cuestin: Porque surgi la POO?, que es el salto de la tcnica de programacin procedural a la tcnica de programacin orientada a objetos que tambin se trata en este artculo adems de tocar levemente la definicin y paradigmas de otros tipos de programacin. En este artculo se enumeran las principales caractersticas de la POO y los beneficios de programar orientado a objetos, se revela como la tcnica ms adecuada para la elaboracin y el diseo de aplicaciones en la Ingeniera de Software. Se destacan las diferencias del tipo de programacin orientado a objetos respecto a otros paradigmas de programacin haciendo nfasis en las metas del paradigma y haciendo una relacin con la evolucin de los

Universidad Distrital Francisco Jos De Caldas. Perilla Vargas. Programacin Orientada A Objetos: Detalles.

lenguajes orientados a objetos. II. DESARROLLO DEL CONTENIDO

1. PROGRAMACIN ORIENTADA A OBJETOS (TECNOLOGA ORIENTADA A OBJETOS) Las tecnologas orientadas a objetos se convirtieron en la dcada de los noventa en uno de los motores clave de la industria del software. Sin embargo, las tecnologas de objetos no son, una nueva tecnologa, sino que es una vieja y madura tecnologa que se remonta a los aos sesenta. Simula es uno de los lenguajes orientados a objetos ms antiguos; fue desarrollado en 1967. El desarrollo de programas orientados a objetos es un enfoque diferente del mundo informtico. Implica la creacin de modelos del mundo real y la construccin de programas informticos basados en esos modelos. El proceso completo de programacin comienza con la construccin de un modelo del suceso (evento) real. El resultado final del proceso es un programa de computadora que contiene caractersticas que representan algunos de los objetos del mundo real que son parte del suceso. El principio bsico de la programacin orientada a objetos es que un sistema de software se ve como una secuencia de transformaciones en un conjunto de objetos. El trmino objeto tiene el mismo significado que un nombre o una frase nominal. Es una persona, un lugar o una cosa Ejemplos de objetos del mundo real son: persona, tabla, computadora, avin, vuelo de avin, diccionario, ciudad o la capa de ozono. La mayora de los objetos del mundo real tienen atributos (caractersticas que los describen). Por ejemplo, los atributos de una persona incluyen el nombre, la edad, el sexo, la fecha de nacimiento, la direccin, etc. Los objetos tienen atributos, y ellos, a su vez, comportamiento El comportamiento (behavior) es el conjunto de cosas que puede hacer un objeto; por ejemplo, una persona puede estudiar, caminar, trabajar, etc. En sntesis, se puede decir que los objetos conocen cosas y hacen cosas Las cosas que un objeto conoce son sus atributos; las cosas que puede hacer un objeto son su comportamiento.

1.1. Por qu Surge la Programacin orientada a objetos? Crear software en forma rpida, correcta y econmica sigue siendo un objetivo difcil de alcanzar en una poca en que la demanda de software nuevo y ms poderoso va en aumento. Los objetos, o dicho en forma ms precisa las clases de las que provienen los objetos, son en esencia componentes de software reutilizables. Existen objetos de fecha, objetos de hora, objetos de audio, objetos de video, objetos de automviles, objetos de personas, etctera. Casi cualquier sustantivo se puede representar de manera razonable como un objeto de software en trminos de sus atributos (como el nombre, color y tamao) y comportamientos (por ejemplo, calcular, moverse y comunicarse). Los desarrolladores de software han descubierto que al usar una metodologa de diseo e implementacin orientada a objetos y modular, pueden crear grupos de desarrollo de software ms productivos de lo que era posible con las tcnicas populares anteriores, como la "programacin estructurada"; por lo general los programas orientados a objetos son ms fciles de comprender, corregir y modificar. 1.2. Conceptos clave: Se Supone que se desea conducir un auto y hacer que vaya ms rpido al oprimir el pedal (acelerador). Qu debe ocurrir para que podamos hacer esto? Bueno, antes de que se pueda conducir un auto, alguien tiene que disearlo. Por lo general, un auto empieza en forma de dibujos de ingeniera, similares a los planos de construccin que describen el diseo de una casa. Estos dibujos de ingeniera incluyen el diseo del pedal del acelerador. El pedal oculta los complejos mecanismos que se encargan de que el auto aumente su velocidad, de igual forma que el pedal del freno oculta los mecanismos que disminuyen la velocidad del auto y el volante "oculta'' los mecanismos que hacen que el auto de vuelta. Esto permite que las personas con poco o nada de conocimiento acerca de cmo funcionan los motores, los frenos y los mecanismos de la direccin puedan conducir un auto con facilidad.

Universidad Distrital Francisco Jos De Caldas. Perilla Vargas. Programacin Orientada A Objetos: Detalles.

Por desgracia, as como no es posible cocinar en la cocina de un plano de construccin, tampoco es posible conducir los dibujos de ingeniera de un auto. Antes de poder conducir un auto, ste debe construirse a partir de los dibujos de ingeniera que lo describen. Un auto completo tendr un pedal acelerador verdadero para hacer que aumente su velocidad, pero an as no es suficiente; el auto no acelerar por su propia cuenta, as que el conductor debe oprimir el pedal del acelerador para aumentar la velocidad del auto. 1.2.1. Mtodos y clases: Para realizar una tarea en una aplicacin se requiere un mtodo, el cual aloja las instrucciones del programa que se encargan de realizar sus tareas. El mtodo oculta al usuario estas tareas, de la misma forma que el pedal del acelerador de un auto oculta al conductor los mecanismos para hacer que el auto vaya ms rpido. En Java, creamos una unidad de programa llamada clase para alojar el conjunto de mtodos que realizan las tareas de esa clase. Por ejemplo, una clase que representa a una cuenta bancaria podra contener un mtodo para depositar dinero en una cuenta, otro para retirar y un tercero para solicitar el saldo actual. 1.2.2. Instanciamiento: As como alguien tiene que construir un auto a partir de sus dibujos de ingeniera para que otra persona lo pueda conducir despus, tambin es necesario crear un objeto de una clase para que un programa pueda realizar las tareas definidas por los mtodos de esa clase. Al proceso de hacer esto se le denomina instanciamiento. Entonces, un objeto viene siendo una instancia de su clase. 1.2.3. Reutilizacin: As corno los dibujos de ingeniera de un auto se pueden reutilizar muchas veces para construir muchos autos, tambin es posible reutilizar una clase muchas veces para crear muchos objetos. Al reutilizar las clases existentes para crear nuevas clases y programas, ahorramos tiempo y esfuerzo. La reutilizacin tambin nos ayuda a crear sistemas ms confiables y efectivos, debido a que

con frecuencia las clases y los componentes existentes pasan por un extenso proceso de prueba, depuracin y optimizacin del desempeo. De la misma manera en que la nocin de piezas intercambiables fue crucial para la Revolucin Industrial, las clases reutilizables son cruciales para la revolucin de software incitada por la tecnologa de objetos. 1.2.3. Mensajes y llamadas a mtodos: Cuando conduce un auto, al oprimir el pedal del acelerador enva un mensaje al auto para que realice una tarea: aumentar la velocidad. De manera similar, es posible enviar mensajes a un objeto. Cada mensaje se implementa como llamada a mtodo, para indicar a un mtodo del objeto que realice su tarea. Por ejemplo, un programa podra llamar al mtodo depositar de un objeto cuenta de banco especfico para aumentar el saldo de esa cuenta. 1.2.4. Atributos y variables de instancia: Adems de tener capacidades para realizar tareas, un auto tambin tiene atributos: color, nmero de puertas, cantidad de gasolina en el tanque, velocidad actual y registro del total de kilmetros recorridos. Al igual que sus capacidades, los atributos del auto se representan como parte de su diseo en sus diagramas de ingeniera. Al conducir un auto real, estos atributos van incluidos. Cada auto conserva sus propios atributos. Por ejemplo, cada uno sabe cunta gasolina hay en su tanque, pero no cunta hay en los tanques de otros autos. De manera similar, un objeto tiene atributos que lleva consigo a medida que se utiliza en un programa. Estos atributos se especifican como parte de la clase del objeto. Por ejemplo, un objeto cuenta bancaria tiene un atributo saldo que representa la cantidad de dinero en la cuenta. Cada objeto cuenta bancaria conoce el saldo de la cuenta que representa, pero no los saldos de las otras cuentas en el banco. Los atributos se especifican mediante las variables de instancia de la clase. 1.2.5. Encapsulamiento: Las clases encapsulan los atributos y mtodos en

Universidad Distrital Francisco Jos De Caldas. Perilla Vargas. Programacin Orientada A Objetos: Detalles.

objetos; los atributos y mtodos de un objeto estn muy relacionados entre s. Los objetos se pueden comunicar entre s, pero por lo general no se les permite saber cmo estn implementados otros objetos; los detalles de implementacin estn ocultos dentro de los mismos objetos. 1.2.6. Herencia: Es posible crear una nueva clase de objetos con rapidez y de manera conveniente mediante la herencia: la nueva clase absorbe las caractersticas de una clase existente, con la posibilidad de personalizarlas y agregar caractersticas nicas propias. En nuestra analoga del auto, sin duda un objeto de la clase convertible es un objeto de la clase ms general llamada "automvil" pero, de manera ms especfica, el techo puede ponerse o quitarse. 2. Paradigmas de programacin. La programacin orientada a objetos se suele conocer corno un nuevo paradigma de programacin. Otros paradigmas conocidos son: el paradigma de la programacin imperativa (Pascal o C), el paradigma de la programacin lgica (PROLOG) y el paradigma de la programacin funcional (Lisp). El significado de paradigma en su origen significaba un ejemplo ilustrativo, en particular enunciado modelo que mostraba todas las inflexiones de una palabra, es decir, un medio de visualizar el mundo. En este sentido, la programacin orientada a objetos es un nuevo paradigma La orientacin a objetos fuerza a reconsiderar nuestro pensamiento sobre la computacin, sobre lo que significa realizar computacin y sobre cmo se estructura la informacin dentro del computador. Se Sugiere que existen cuatro clases de estilos de programacin: Orientados a procedimientos - Algoritmos Orientados a objetos - Clases y objetos Orientados a lgica - Expresado en clculo de predicados Orientados a reglas - Reglas if-then En POO, las entidades centrales son los objetos, que son tipos de datos que encapsulan con el mismo nombre estructuras de datos y las

operaciones o algoritmos que manipulan esos datos. 3. Lenguajes orientados a objetos. 3.1. Evolucin de los lenguajes orientados a objetos: El primer lenguaje de programacin que introdujo el concepto de clase fue Simula-67, como entidad que contena datos y las operaciones que manipulaban los datos Asimismo, introdujo tambin el concepto de herencia. El siguiente lenguaje orientado a objetos, y seguramente el ms popular desde un enfoque conceptual exclusivamente de objetos, es Smalltalk, cuya primera versin comercial se desarroll en 1976, y en 1980 se populariz con la aparicin de Smalltalk-80. Posteriormente se ha popularizado gracias al desarrollo de Smalltalk/V de la casa Digital, y, que recientemente se ha implementado bajo entorno Windows. El lenguaje se caracteriza por soportar todas las propiedades fundamentales de la orientacin a objetos, dentro de un entorno integrado de desarrollo, con interfaz interactivo de usuario basado en mens. Entre los lenguajes orientados a objetos que se han desarrollado a partir de los ochenta destacan extensiones de lenguajes tradicionales tales como C++ y Objective-C, Modula-2 y Object Pascal, y recientemente Object Cobol, que a lo largo de 1994 aparecieron sus primeras versiones comerciales, y Java, el nuevo lenguaje para programacin en Internet. Otro lenguaje orientado a objetos puros es Eiffel, creado por Bertrand Meyer y que soporta todas las propiedades fundamentales de objetos, Ada ha sido tambin un lenguaje en este caso basado en objetos que soporta la mayora de las propiedades orientadas a objetos. Sin embargo, la nueva versin Ada-95 ya soporta herencia y polimorfismo. En los ltimos aos han aparecido lenguajes con soporte de objetos como: Clipper 5-2, Visual BASIC, etc. Gracias a lenguajes como C++, en la segunda mitad de los noventa ser el lenguaje orientado a objetos ms popular y utilizado en el mundo de la programacin. La evolucin de los lenguajes

Universidad Distrital Francisco Jos De Caldas. Perilla Vargas. Programacin Orientada A Objetos: Detalles.

orientados a objetos se muestra en la siguiente grfica.

adems de objetos y clases ofrecen mecanismos de herencia entre clases. Esta es, la posibilidad de derivar operaciones y atributos de una clase (superclase) a sus subclases. 3.3. Beneficios. Algunos beneficios de la utilizacin de la Tecnologa Orientada a Objetos que resaltan algunos autores son por ejemplo: Desarrollo ms rpido. Calidad ms alta. Mantenimiento ms fcil. Coste reducido. Increment en escalabilidad Mejores estructuras de informacin. Incremento de adaptabilidad
REFERENCIAS

3.2. Clasificacin de los lenguajes orientados a objetos. Existen varias clasificaciones de lenguajes de programacin orientados a objetos, atendiendo a criterios de construccin o caractersticas especficas de los mismos Una clasificacin ampliamente aceptada y difundida es la que se ilustra en la siguiente figura.

A. Libros [1] H. Deitel and P. Deitel, Como Programar en Java 9na edicin, Pearson, 2012. [2] J. Dean and R. Dean, Introduccin a la programacin con java, Mc Graw Hill, 2009. B. De Internet. [3] Aprendiendo Java y Programacin Orientada a Objetos, http://www.compunauta.com/forums/linux/programacion/java /AprendiendoJava.pdf [4]Introducccin a la programacin orientada a objetos, http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r5 1770.PDF

Lenguajes basados en objetos que soportan objetos. Es decir, disponen de componentes caracterizados por un conjunto de operaciones y un estado. Lenguajes basados en clases que implican objetos y clases. Es decir, disponen de componentes tipo clase con operaciones y estado comn. Una clase de un objeto se construye con una interfaz que especifica las operaciones posibles y un cuerpo que implementa dichas operaciones. Lenguajes orientados a objetos que

Das könnte Ihnen auch gefallen