lunes, 20 de febrero de 2012

04 - Programación Orientada al Objeto


PROGRAMACIÓN ORIENTADA AL OBJETO (POO)


Resumen POO:

          La programación dirigida al objeto crea un entorno de programación que refleja la realidad y, por ello, hace más sencillo construir programas a personas sin una formación estrictamente informática, se debe por tanto cambiar la manera de pensar a la hora de programar, pensar como personas y no como máquinas. 


     El elemento básico de esta programación no es la función (utilizada en la programación estructurada), sino un ente denominado objeto. Un objeto es la representación de un concepto para un programa y contiene toda la información necesaria para que los datos que describen su estado y las operaciones que pueden modificar dicho estado determinen las capacidades del objeto.


         Por ejemplo para construir un ordenador se adquieren las diferentes piezas con ciertas propiedades (periféricos de entrada, periféricos de salida, capacidad de almacenamiento, fuente de alimentación, etc.) y una cierta funcionalidad (Alimentar potencia, almacenar datos, leer, guardar, reproducir vídeo, grabar sonidos...). La POO surge de la idea de que el programa está compuesto de objetos con ciertas propiedades y funciones. El usuario dispone de los objetos, no importa que objeto se utilice con tal de que el objeto satisfaga sus necesidades.



        



Palabras clave:

Objeto: Los objetos son entidades que se pueden distinguir de manera clara y definida, ejemplos de un objeto pueden ser una persona, un libro, un botón de orden.


Clase (familia): Los objetos están organizados en familias claramente delimitadas. Una familia se reconoce porque reúne un grupo de objetos que heredan elementos entre sí. El modelo de programación visual organiza los objetos en clases (familias), así una clase es el conjunto de objetos que pertenecen a una misma familia. El modelo de programación visual permite así organizar las familias de objetos en un orden jerárquico.


Método (comportamiento): Se define como un conjunto de acciones que un objeto puede realizar para conseguir un propósito. Los métodos representan la parte viva e interesante de un objeto y se emplean habitualmente para modificar las propiedades del objeto. Al modificar cualquiera de las propiedades del objeto se altera su apariencia y se genera un cambio que el usuario de la aplicación puede percibir.


Estado (atributo): Los estados o atributos son las caracterísiticas individuales que diferencian un objeto de otro y determinan su apariencia u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.


Herencia: es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.

Abstracción: Expresa las características esenciales de un objeto, las cuales distinguen al objeto del los demás.

Evento: Todos los objetos se relacionan con el mundo que los rodea, esto significa que ningún objeto está aislado y siempre recibe el influjo de otros objetos. Los eventos son los estímulos que un objeto ejerce sobre otro.

Mensaje: El mensaje es esencialmente una orden que se envía a un objeto para indicarle que realice alguna acción. También se define mensaje como la información completa que un objeto emisor transmite hacia un objeto receptor. Un mensaje contiene tres elementos: el objeto receptor, el tipo de evento y los datos necesarios para el receptor.

Polimorfismo: Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación

Estado interno: es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.

Componentes de un objeto: atributos, identidad, relaciones y métodos.

Identificación de un objeto: un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.

Encapsulamiento: hacer las variables que son innecesarias para el tratamiento del objeto pero necesarias para su funcionamiento privadas, asi como las funciones que no necesitan interacción del usuario o que solo pueden ser llamadas por otras funciones dentro del objeto.

Modularidad: Un programa es modular si se compone de módulos independientes y robustos. Esto permite la reutilización y facilita la verificación y depuracion de los mismos. En poo, los módulos están directamente relacionados con los objetos. Los objetos son módulos naturales ya que corresponden a una imagen lógica de la realidad.

Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. 

Recolección de basura: la recolección de basura es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando.

No hay comentarios:

Publicar un comentario