Sunteți pe pagina 1din 6

INTRODUCCIN ALA PROGRAMACIN ORIENTADA A OBJETOS La programacin O. O. es una filosofa, un modelo de programacin con su teora y su metodologa. Un L. O. O.

es un lenguaje de programacin que permite el diseo de aplicaciones O.O. Lo normal es que toda persona que vaya a desarrollar aplicaciones O. O. aprenda primero la filosofa (o adquiera las forma de pensar) y despus el lenguaje, porque filosofa solo hay una y lenguajes hay muchos. Un L.O.O. tiene 3 caractersticas bsicas: Debe estar basado en objetos, basado en clases y capaz de tener herencia de clases, muchos lenguajes cumplen 1 2 de estos puntos muchos menos cumplen los 3. La barrera as difcil de sortear es usualmente la herencia. El elemento fundamental de P.O.O. es el como su nombre lo indica, el objeto. Podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Esta definicin especifica varias propiedades importantes de los objetos. En un lugar un objeto no es un dato simple, sino que contiene en su interior. Cierto nmero de componentes bien estructurados. En segundo lugar cada objeto no es un ente aislado sino que forma parte de una organizacin jerrquica o de otro tipo. La clase contiene el objeto (infinidad) propiedades y los objetos se comunican entre s a travs de las relaciones. (el pedir y el entregar es a travs de los mtodos) ESTRUCTURA DE UN OBJETO Un objeto puede considerarse como una especie de capsula dividida EN 3 PARTES: RELACIONES, PROPIEDADES Y METODOS. Cada uno de estos componentes desempea un papel totalmente independiente: Las relaciones permiten que el objeto se inserte en la organizacin y estn formadas esencialmente por punteros a otros objetos Direcciones que relacionan la mquina para relacionar con otra direccin. PROPIEDADES Distinguen a un objeto determinado de los restantes que forman parte de la misma organizacin y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes de la organizacin. METODOS Son las operaciones que se pueden realizarse sobre el objeto, que normalmente estarn incorporados en forma de programas (cdigos) que el objeto es capaz de ejecutar y que tambin pone a disposicin de sus descendientes a travs de la herencia. ENCAPSULAMIENTO Como hemos visto, cada objeto es una estructura complejo en cuyo interior hay datos y programas, todos ellos relacionados entre s, como si estuvieran encerradas conjuntamente en una capsula. Esta propiedad (encapsulamiento) es una de las caractersticas fundamentales en la P.O.O. Los objetos son accesibles, e impiden que otros objetos, los usuarios o incluso los programadores conozcan cmo est distribuida la informacin o que informacin hay disponible. Esta propiedad de los objetos se denomina ocultacin de la informacin. Esto no quiere decir, sin embargo, que sea imposible conocer lo necesario respecto a un objeto y a lo que contiene. Esto no quiere decir, si as fuera no se podra hacer gran cosa con el. Lo q sucede es que las peticiones de informacin a un objeto deben realizarse a travs de mensajes dirigidos a el, con la orden de realizar la operacin pertinente. La respuesta a estas rdenes ser la informacin requerida siempre que el objeto considere que quien enva el mensaje est autorizado para obtenerla.

El hecho de que cada objeto sea una capsula facilita enormemente que un objeto determinado pueda ser transportado a otro punto de la organizacin o incluso a otra organizacin totalmente diferente que precise de el. Si el objeto ha sido bien construido, sus mtodos seguirn funcionando en el nuevo entorno sin problemas. Esta cualidad hace que la P.O.O. sea muy apta para la reutilizacin de programas. ORGANIZACIN DE LOS OBJETOS En principio. Los objetos forman siempre una organizacin jerrquica, en el sentido de que ciertos objetos son superiores a otros de cierto modo. Existen varios tipos de jerarquas: sern simples cuando su estructura pueda ser representada por medio de un rbol. En otros casos puede ser ms compleja. A

A1

A2

En cualquier caso, sea la estructura simple o compleja, podrn distinguirse en ellas 3 niveles de objetos. RAIZ La raz de la jerarqua se trata de un objeto nico y especial. Este se caracteriza por estar en el nivel ms alto de la estructura y suele recibir un nombre muy genrico, que indica su categora especial, como por ejemplo Objeto madre, Raz, Entidad. OBJETO INTERMEDIO Son aquellos que descienden directamente de la raz y que a su vez tienen descendientes. Representan conjuntos o clases de objetos, que pueden ser muy generales o muy especializados, segn la aplicacin. Normalmente reciben nombres genricos que denotan al conjunto de objetos que representan por ejemplo: ventana, cuenta, fichero. En un conjunto reciben el nombre de clases o tipos si descienden de otra clase o subclase. OBJETOS TERMINALES Son todos aquellos que descienden de una clase o subclase y no tienen descendientes. Suelen llamarse casos particulares, instancias o tems porque representan los elementos del conjunto representado por la clase o subclase a la que pertenece.

RAIZ
INTERMEDIO
TERMINALES

RELACIONES Las relaciones entre objetos son precisamente los enlaces que permiten a un objeto relacionarse con aquellos que forman parte de la misma organizacin. Las hay de 2 tipos fundamentales:

RELACIONES JERRQUICAS.- Son esenciales para la existencia misma de la explicacin porque la construyen. Son bidireccionales, es decir, un objeto es padre de otro cuando el primero objeto se encuentra situado inmediatamente encima del segundo en la organizacin en la que ambos forman parte; as mismo, si un objeto es padre de otro, el segundo es hijo del primero. Una organizacin jerrquica simple puede definirse como aquella en la que un objeto puede tener un solo padre, mientras que en una organizacin jerrquica compleja un hijo puede tener varios padres. RELACIONES SEMANTICAS.-Se refieren a las relaciones que no tienen nada que ver con la organizacin de la que forman parte los objetos que las establecen. Sus propiedades y consecuencia solo dependen de los objetos en si mismo (de su significado) y no de su posicin en la organizacin. PROPIEDADES Todo objeto puede tener cierto nmero de propiedades, cada una de las cuales tendr, a su vez, uno o varios valores. En P.O.O. las propiedades corresponden a las clsicas variables de la programacin estructurada. Son, por lo tanto datos encapsulados dentro del objeto, junto con los mtodos (programas) y las relaciones (punteros a otros objetos). Las propiedades de un objeto pueden tener un valor nico o pueden contener un conjunto de valores ms o menos estructurados (matrices, vectores, listas, etc) Adems los valores pueden ser de cualquier tipo (numrico, alfabtico, etc) si el sistema de programacin lo permite. Pero existe una diferencia con las variables, y es que las propiedades se pueden heredar de unos objetos a otros. En consecuencia, un objeto puede tener una propiedad de maneras diferentes: propiedades propias y propiedades heredadas PROPIEDADES PROPIAS Estn formadas dentro de la capsula del objeto. PROPIEDADES HEREDADAS Estn definidas en un objeto diferente, antepasado de este (padre, abuelo, etc) A veces estas propiedades se llaman propiedades miembro porque el objeto las posee por el hecho de ser miembro de una clase. LOS METODOS Una operacin que realiza acceso a los datos. Podemos definir mtodos como un programa procedimental o procedural escrito en cualquier lenguaje, que est asociado a un objeto determinado y cuya ejecucin solo puede desencadenarse a travs de un mensaje recibido por este o por sus descendientes. Son sinnimos de mtodo todos aquellos trminos que se han aplicado tradicionalmente a los programas, procedimientos, funciones, rutinas, etc. Sin embargo, es conveniente utilizar el trmino, mtodo para que se distinga claramente las propiedades especiales que adquiere un programa en el entorno P.O.O. Si los mtodos son programas se deduce que podran tener argumentos o parmetros. Puesto que si los mtodos pueden heredarse de unos objetos a otros, un objeto puede disponer de un mtodo de 2 maneras diferentes: Mtodos propios y Mtodos heredados. METODOS PROPIOS Estn incluidos dentro de la capsula del objeto.

METODOS HEREDADOS Estn definidos en un objeto diferente, antepasado de este (padre, abuelo, madre, raz, etc) A veces estos mtodos se llaman mtodos miembro porque el objeto los posee por el hecho de ser miembros de una clase. POLIMORFISMO Una de las caractersticas fundamentales de la P.O.O. es el polimorfismo, que no es otra cosa que la posibilidad de construir varios mtodos con el mismo nombre, pero con relacin a la clase a las que pertenece cada uno con comportamientos diferentes. Esto conlleva la habilidad de enviar un mismo mensaje a objetos de clases diferentes. Estos objetos recibirn el mismo mensaje global pero responderan a l de forma diferente. Por ejemplo: Un mensaje + a un objeto entero significara suma mientras que para un objeto string significara concatenacin (pegar) texto uno seguido al otro. Suma (5,10) = 15 (entero) Suma (hola, mundo) = Hola Mundo (string)

DEMONIOS Es un tipo especial de mtodos, relativamente poco frecuente en los sistemas de P.O.O., que se activa automticamente cuando sucede algo especial, es decir, es un programa, como los mtodos ordinarios, pero se diferencian de estos porque su ejecucin no se activa con un mensaje, sino que se desencadena automticamente cuando ocurre un suceso determinado: La asignacin de un valor a una propiedad de un objeto, la lectura de un valor determinado, etc. Los demonios, cuando existen se diferencian de otros mtodos porque no son heredables y porque a veces estn ligados a una de las propiedades de un objeto, ms que al objeto en s. BENEFICIOS QUE SE OBTIENEN DEL DESARROLLO CON P.O.O. A medida que los costos del hardware decrecen, surgen nuevas reas de aplicacin cotidianamente: procesamiento de imgenes y sonidos, bases de datos multimediales, automatizacin de oficina, ambiente de ingeniera de software, etc. Aun las explicaciones tradicionales encontramos que ser bastante conveniente. Lamentablemente, los costos de produccin de software siguen aumentando, el mantenimiento y la modificacin de sistemas complejos suele ser una tarea muy complicada, cada aplicacin (aunque tenga aspectos similares a otra) suele encararse como un proyecto nuevo. Pero como los objetos son portables (tericamente) mientras que la herencia permite reusabilidad del cdigo O.O.; es ms sencillo modificar condigo existente porque los objetos no interaccionan excepto a travs de mensajes; en consecuencia un cambio en la codificacin de un objeto no afectar la operacin con otro objeto siempre que los mtodos respectivos permanezcan intactos. PROBLEMAS DERIVADOS DE LA UTLIZACION DE P.O.O Especficamente los siguientes temas suelen aparecer repetidamente. Curva de aprendizaje, dependencia del lenguaje, determinacin de las clases y performance. CURVA DE APRENDIZAJE LARGA.- Un sistema O.O. ve al mundo de una forma nica, involucrar la conceptualizacin de todos los elementos de un programa, desde subsistemas a los datos, en la forma de objetos. Toda la comunicacin entre objetos debe realizarse a travs de los mensajes. Esta no es la forma en que esta descrito los Prog. O.O. actualmente, al hacer la transicin a un sistema O.O. la mayora de los programadores, deben capacitarse nuevamente antes de poder usarlos. DEPENDENCIA DEL LENGUAJE.- A pesar de la portabilidad de los objetos en un sistema O.O. en la prctica existen muchas dependencias. Muchos Leng.O.O. estn compitiendo actualmente para dominar

el mercado. Cambiar el lenguaje de implementacin de un sistema O.O. no es tarea sencilla; por ejemplo: C++ soporta el concepto de herencia mltiple mientras que smaltalk no lo soporta JAVA; en consecuencia la eleccin de un lenguaje tiene ramificaciones de diseo muy importante. DETERMINACION DE LAS CLASES.-Una clase es un molde de que se utiliza para crear nuevos objetos. En consecuencia es importante crear, el conjunto de clases adecuado para un proyecto. Desafortunadamente la definicin de las clases es ms un arte que una ciencia. Si bien hay muchas jerarquas de clase predefinidas usualmente se deben crear clases especficas para la aplicacin que se est desarrollando. Luego, en 6 meses o un ao se da cuenta que las clases que se establecieron no son posibles, en ese caso ser necesario reestructurar la jerarqua de clases cambiando totalmente la planificacin original. PERFORMANCE.- En un sistema donde todo es un objeto y toda interaccin es a travs de mensaje, el trfico de mensaje, afecta la performance. A medida que la tecnologa avanza y la velocidad de micro procesamiento, potencia y tamao de la memoria aumenta, la situacin mejorar, pero en la situacin actual, un diseo de una aplicacin O.O. que no tiene en cuenta la performance no ser viable comercialmente. 1.- OBJETO: Un objeto consta de: 1.-TIEMPO DE VIDA.- La duracin de un objeto en un programa siempre est limitada en el tiempo. La mayora de los objetos solo existen durante una parte de la ejecucin del programa. Los objetos son creados mediante un mecanismo denominado instanciacin y cuando dejan de existir se dice que son destruidos. 2.-ESTADO.-Todo objeto posee un estado, definido por sus atributos. Con l se define las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia. 3.-COMPORTAMIENTO.-Todo objeto a de presentar una interfaz, definida por sus mtodos, para que el resto de objetos que componen los programas puedan interactuar con ellos. 2.- CLASE Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz comn. Podemos definir una clase como un conjunto de cosas fsicas o abstractas que tienen el mismo comportamiento y caractersticas en comn. Las clases presentan el estado de los objetos a los que representan mediante variables denominados atributos, los mtodos son las funciones mediante las cuales las clases representan el comportamiento de los objetos. Desde el punto de vista de la programacin estructurada una clase se asemejar a un mdulo, los atributos a las variables globales de dicho modulo, y los mtodos a las funciones del mdulo. 3.- HERENCIA Es un mecanismo que permite la definicin de una clase a partir de la definicin de otra ya existente. La herencia esta frecuentemente ligada a las reutilizacin del cdigo en la P.O.O. Hay dos tipos de herencia: HERENCIA SIMPLE Y HERENCIA MULTIPLE. La primera indica que se puede definir nuevas clases solamente a partir de una clase inicial, mientras que la segunda indica que se pueden definir nuevas clases a partir de dos o ms clases. 4.-INSTANCIA Un programa es una secuencia de instrucciones que indica cuales operaciones se deben realizar sobre un conjunto de datos. Un ejemplo de instancia en un lenguaje de programacin visual, seria tomar o arrastrar un objeto de la barra de herramientas o de la lista de librera y colocarlo en el escritorio o escenario de trabajo.

Si el objeto original cambia o le es agregado algun nuevo atributo las instancias lo heredarn puesto que son una copia del original. 5.- MENSAJE Los mensajes pueden contener parmetro. Por ejemplo teniendo un mtodo en la clase bicicleta llamado girar que recibe como parmetro la direccin (derecha o izquierdo). Un mensaje est compuesto por los siguientes tres elementos. 1.- Objeto Destino.- Hacia el cual el mensaje es enviado. 2.-El nombre del mtodo a llamar. 3.- Los parmetros solicitados por el mtodo. Los mensajes proporcionan 2 ventajas importantes: 1.- el comportamiento de un objeto est definido completamente por sus mtodos, asi que los mensajes representan todas las posibles interacciones que puedan realizarse entre objeto. 2.- los objetos no necesitan formar parte del mismo proceso, ni siquiera residir en un mismo ordenados para mandarse mensajes entre ellos. 6.- ABSTRACCION Hay ocasiones, cuando se desarrolla una jerarqua de clase en que algn comportamiento est presente en todas ellas pero se materializa de forma distinta para cada uno, se puede considerar como abstraccin. Un mtodo abstracto es un mtodo desarrollado en una clase para la cual esa clase no proporcionar la implementacin (el cdigo)

S-ar putea să vă placă și