domingo, 3 de julio de 2016

POO: Programación Orientada a Objetos.

INTRODUCCIÓN

Este articulo introducirá a el lector en los conceptos básicos de las programación orientada a objetos (POO). estos conceptos teóricos serán llevados a la practica en sucesivos casos. con el soporte del lenguaje de programación C++.

Las técnicas utilizadas para desarrolladas una programación orientada a objetos no son fáciles de asimilar., sobre todo cuando se ha desarrollado otro tipo de programación , por ejemplo programación estructurada ya que esto añade la dificultad que supone cambiar la forma de pensar. Por otra parte, para utilizar como herramienta de desarrollo el lenguaje C o C++. Si no es así, empiece adquiriendo los conocimientos fundamentales de este lenguaje, para lo cual le recomiendo ¡leer este blog! 

Si usted ya posee conocimientos de programación estructurada, olvídese en cierta forma de programar y piense en objetes, entendiendo por objeto una encapsulación de un conjunto de datos y de los métodos para manipular estos.Por ejemplo, i usted ya había trabajado antes con Microsft Windows, un ventana de Windows es un objeto. Este objeto posee unas determinadas características o datos, como son tamaño, color, barras de desplazamiento, titulo etc., y una determinadas funciones o métodos que permiten manipular esos datos. por ejemplo cuando el usuario apunta con el cursor del ratón o al botón de maximizar la ventana y haces click sobre el, se produce un mensaje dirigido a lapropia ventana que provoca a la ejecución del metodo que produce su maximización.

A su vez, los objetos  pueden establecer una comunicación entre ellos. por ejemplo, un click de ratón en determinado botón puede originar un mensaje dirigido a la propia ventana, que a su vez, origine un mensaje a otra ventana que haga que esta vez visualice y genere un mensaje asi misma, produciendo sobre ella la presentación de una determinada información.



PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS.

Según expuesto en el apartado anterior, la POO es una forma de programación que utiliza objetos que responde a secesos. Estos sucesos producen un flujo de mensajes entre los objetos, lo que origina cambios en el estado del objeto que recibe el mensaje. como por ejemplo, piense en el problema en el que un objeto caja visualice u comunicado cuando se haga click en otro objeto, botón de pulsación. La estructura del programa básicamente estara formada por dos objetos y un método que tiene que ejecutarse para poner el comunicado en la caja de texto.
Así , la POO es un enfoque sumamente natural, puesto que la estructura de los programas refleja directamente la estructura del problema.

Ademas la POO puede considerarse como un extención natural de la programación estructurada en un intento de potenciar los conceptos de modularidad y reutilizacion del código. Para entender esto, piense en un objeto libro con los atributos titulo y autor, y los métodos necesarios para manipularlos. En un instante determinado durante el desarrollo de una aplicación del objeto libro, atributos y autor, y los metodos necesarios para manipularlos, en un instante determinado para una aplicación, si la estructura de este objeto se ajusta exactamente a las necesidades de la misma, se utilizara, sino por ejemplo, por que necesitamos un nuevo atributo editorial, habría que crearlo de nuevo asumiendo el coste inherente a su total de construcción a no ser que podamos reutilizar el editorial el código, lo que significa asumir un coste menor, el inherente a la ampliación del objeto. esto fue uno de los motivos del éxito de la POO y si no piense en la cantidad de bibliotecas de objetos que se han creado para el desarrollo de interfaces gráficas del usuario.


sábado, 2 de julio de 2016

MECANISMOS BÁSICOS DE LA POO

Los mecanismos básicos de la programación orientada a objetos son: objetos, mensajes, métodos, clases y subclases.


OBJETOS

Un programa tradicional se conforma de procedimientos y de datos. Un programa orientado a objetos se compone solamente de objetos, un objeto es un encapsulación de genérica de datos y de procedimientos para manipularlos. Dicho de otra forma, un objeto es un entidad que tiene unos atributos particulares, los datos, y unas formas de operar sobre ellos, los métodos. Por lo tanto un objeto contiene por una parte operaciones que difunden su comportamiento y por otra, variables manipulables por esas operaciones, que definen su estado, por ejemplo una ventana Windows contiene operaciones como maximizar (los datos) y variables como ancho y alto ((los atributos).


viernes, 1 de julio de 2016

MENSAJES

MENSAJES


Cuando se ejecutara un programa orientado a objetos, los objetos están recibiendo, interpretando y respondiendo a mensajes de otros objetos. Esta marca una clara diferencia con respectos a los elementos de datos pasivos de los sistemas tradicionales; esto es, en la POO  el flujo de control funcional remplazado por el paso de mensajes entre objetos, lo que origina cambios en el estado del objeto. Por ejemplo, cuando un usuario envía un mensaje a un objeto denominado printer para que escriba un documento, printer puede enviar un mensaje a otro objeto ominado cola_impre para que le asigne un lugar en la cola de trabajos de impresión. A su vez cola_impre puede enviarle un mensaje a printer para requerirle que posible dar formato a el documento, y así sucesivamente. Un mensaje enviado a printer puede contener información para clarificar un petición. Por ejemplo el mensaje enviado a printer  puede incluir el nombre de la impresora. Finalmente, cuando un objeto recibe un mensaje, debe conocer perfectamente lo que tiene hacer, y cuando un objeto envía un mensaje, no necesita conocer cómo se desarrolla, sino simplemente conocer que se está desarrollando.

El conjunto de mensajes a los que un objeto puede responder se denomina protocolo.


En C++, un mensaje esta asociado con el prototipo de una función viendo que de tal forma que cuando se produce un mensaje la correspondiente función miembro de la clase a la que pertenece el objeto, esto es, el envió de un mensaje que equivale en C++ llamar una función miembro