Está en la página 1de 3

El programador debe establecer la asociacin entre el modelo de la mquina espacio de la solucin que es donde se va a implementar dicha solucin, como

puede ser una computadora, y el problema que es lo que realmente quiere resolver espacio del problema que es el lugar donde existe el problema, el negocio. Qu es una abstraccin? Alan kayresumion las cinco caractersticas bsicas de smalltalk para un objeto, el primer lenguaje orientado a objetos que tuvo xito y uno de los lenguajes en los que se basa JAVA. Estas caractersticas representan un enfoque puro de la programacin orientada a objetos. 1. Todo es un objeto. Piense en un objeto como en una variable: almacena datos, permite que se le planteen solicitudes, pidindole que realice operaciones sobre si mismo. En teora, puede tomarse cualquier componente conceptual del problema que se est intentando resolver. 2. Un programa es un montn de objetos que se dicen entre s lo que tienen que hacer envindose mensajes. Para hacer una solicitude a un objeto, hay que enviar un mensaje a dicho objeto. Ms concretamente, puede pensar en que un mensaje es una solicitud para llamar a un mtodo que pertenece a un determinado objeto. 3. Cada objeto tiene su propia memoria formada por otros objetos. Dicho de otra manera, puede crear una nueva clase de obeto definiendo un paquete que contenga objetos existentes. Por tanto, se puede incrementar la complejidad de un programa ocultndola tras la simplicidad de los objetos. 4. Todo objeto tiene un tipo asociado. Como se dice popularmente, cada objeto es una instancia de una case, siendo clase sinnimo de tipo. La caracterstica distintiva ms importante de una clase es el conjunto de mensajes que se le pueden enviar. 5. Todos los objetos de un tipo particular pueden recibir los mismos mensajes. Como veremos ms adelante, esta afirmacin es realmente importante. Puesto que un objeto de tipo circulo tambin es un objeto de tipo forma, puede garantizarse que un circulo aceptar los mensajes forma. Esto quiere decir que se puede escribir cdigo para comunicarse con objetos de tipo forma y controlar automticamente cualquier cosa que se ajuste a la descripcin de una forma. Esta capacidad de suplantacin es uno de los conceptos ms importantes de la POO. Booch ofrece una descripcin an ms sucinta de objeto: Un objeto tiene estado, comportamiento e identidad.

Esto significa que un objeto puede tener datos internos (lo que proporciona el estado), mtodos (para proporcionar un comportamiento) y que cada objeto puede ser diferenciado de forma unvoca de cualquier otro objeto; es decir; cada objeto tiene una direccin de memoria exclusiva.

El enfoque orientado a objetos Se hace referencia a los elementos en el espacio del problema denominado objetos a sus representaciones en el espacio de la solucin. La idea es que el programa pueda adaptarse por si solo a la jerga del problema aadiendo nuevos tipos de objetos de modo que cuando se lea el cdigo que describe la solucin, se este leyendo palabras que tambin expresen el problema. Por tanto la POO permite describir el problema en trminos del problema en lugar de en trminos de la computadora. Por qu usar clases? Dado que una clase describe un conjunto de objetos que tienen caractersticas (elementos de datos) y comportamiento (funcionalidad) idnticos, una clase realmente es un tipo de datos porque, por ejemplo, un nmero en coma flotante tambin tiene un conjunto de caractersticas y comportamiento. La diferencia est en que el programador define una clase para adaptar un problema en lugar de forzar el uso de un tipo de datos existente que fue diseado para representar una unidad de almacenamiento en una mquina. Se puede ampliar el lenguaje de programacin aadiendo nuevos tipos de datos especficos que se adapten a sus necesidades. El sistema de programacin admite las nuevas clases y proporciona a todas ellas las combinaciones de tipo que proporciona a los tipos definidos. La creacin de tipos de datos abstractos (clases) es un concepto fundamental en la programacin orientada a objetos. Qu es un objeto? Una vez que se ha definido una clase, se pueden crear tantos objetos de dicha clase como se desee y dichos objetos pueden manipularse como si fueran los elementos del problema que se est intentando resolver. Pero, Cmo se consigue que un objeto haga un trabajo til para el programador? Debe haber una forma de hacer una solicitud al objeto para que haga algo, como por ejemplo, completar una transaccin, dibujar algo en pantalla o encender un interruptor. Qu es una interfaz Adems, cada objeto slo puede satisfacer ciertas solicitudes. Las solicitudes que se pueden hacer a un objeto se definen mediante su interfaz y es el tipo lo que determina la interfaz. Veamos un ejemplo con la representacin de una bombilla:

La interfaz determina las solicitudes que se pueden hacer a un determinado objeto, por lo que debe existir un cdigo en alguna parte que satisfaga dicha solicitud. Esto, junto con los datos ocultos, definen lo que denomina la implementacin. Desde el punto de vista de la programacin procedimental, esto no es complicado. Un tipo tiene un mtodo asociado con cada posible solicitud; cuando se hace una determinada solicitud a un objesto, se llama a dicho mtodo. Este proceso se resume diciendo que el programador enva un mensaje (hace una solicitud) a un objeto y el objeto sabe lo que tiene que hacer con este mensaje (ejecuta el cdigo). En este ejemplo, el nombre del tipo/clase es Luz, el nombre de este objeto concreto Luz es lz y las solicitudes que se pueden hacer a un objeto Luz son encender, apagar, brillar o atenuar. Se ha creado un objeto Luz definiendo una referencia (lz) para dicho objeto e invocando new para hacer una solicitud a un nuevo objeto de dicho tipo. Para enviar un mensaje al objeto, se define el nombre del objeto y se relaciona con la solicitud del mensaje mediante un punto. Desde el punto de vista del usuario de una clase predefinida, esto es el no va ms de la programacin con objetos. El diagrama anterior sigue el formato del lenguaje UML (UnifiedModelingLanguage, Lenguaje de modelado unificado). Cada clase se representa mediante un recuadro escribiendo el nombre del tipo en la parte superior, los miembros de datos en la zona intermedia y los mtodos (las funciones de dicho objeto que reciben cualquier mensaje que el programador envi a dicho objeto) en la parte inferior. A menudo, en estos diagramas slo se muestran el nombre de la clase y los mtodos pblicos, no incluyndose la zona intermedia, como en este caso. Si slo se est interesando en el nombre de la clase, tampoco es necesario incluir la parte inferior.

También podría gustarte