Diseño Orientado A Objeto
dianamn7113 de Septiembre de 2011
2.584 Palabras (11 Páginas)676 Visitas
INTRODUCCIÓN
Actualmente el Diseño Orientado a Objeto, se ha convertido en una de las formas más difundidas para programar y su receptividad ha aumentado a lo largo de los años. El Diseño Orientado a Objetos también conocido como Programación Orientada a Objetos (POO), es una forma especial de programar, un nuevo enfoque que busca imitar la manera en la que se percibe el mundo real, en donde se encuentran diversos objetos en constante interacción. En este diseño los elementos del software son considerados más que como funciones como objetos. En este sentido un objeto contiene la información que facilita su identificación y definición, dispone de mecanismos de interacción que permiten la comunicación entre dichos objetos y el cambio de datos. Esta particular característica lleva a tratarlos como unidades indivisibles, en las que permanecen articuladas la información con el procesamiento.
Las bases sobre las que se apoya el Diseño Orientado a Objeto son las características que convierten a este Diseño en una herramienta muy potente, ellas son: La abstracción, la encapsulación, la herencia y el polimorfismo. Adicionalmente esta herramienta contiene elementos que la definen entre los cuales están aparte del objeto, la clase, el atributo, el método, el mensaje, el evento y el estado interno. A lo largo de este trabajo, desarrollaremos los conceptos, así como daremos ejemplos que expliquen el sentido de cada uno de ellos.
DISEÑO ORIENTADO A OBJETO
El diseño orientado a objetos (más conocido también como programación orientada a objetos, POO siglas en inglés) es una metodología de programación enfocada en el desarrollo de software, que define programas en términos de clases de objetos, entidades que combinan datos, procedimientos y propiedades. El diseño expresa un programa como un conjunto de estos objetos para realizar tareas.
El diseño orientado a objetos define dichos objetos y sus interacciones para resolver un problema de negocio que fue identificado y documentado durante el análisis orientado a objetos, es decir, utiliza objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Su uso se popularizó a principios de la década de 1990. Esta metodología presta atención a la interrelación que existe entre los datos y las acciones a realizar con ellos, se basa en la adaptación a la manera de pensar del hombre y en la forma de operar de la máquina, con la intención de lograr un equilibrio y su elemento básico está constituido no por la función sino por un ente denominado objeto.
Elementos del Diseño Orientado a Objetos
Como parte del Diseño Orientado a Objetos y para entenderlos es necesario manejar los siguientes términos:
La Clase
Es como el plano del objeto. En ella encontramos las definiciones de las propiedades, configuración y comportamientos de un tipo de objeto concreto, es decir, la descripción de un conjunto de objetos que poseen características similares. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas, pues estas son utilizadas como moldes o plantillas, por lo que se puede entender que un objeto es una instancia de una clase.
Los datos de una clase pueden ser de acceso público y de acceso privado.
Objeto
Es la representación de un concepto para un programa. Es una entidad provista de un conjunto de datos y de métodos, puede ser real o abstracto, es un elemento individual con identidad propia. Combinan estado (atributo), comportamiento (método) e identidad, esta última es una propiedad que diferencia a un objeto del resto.
Propiedad o Atributo
Es el tipo de datos que contiene el objeto en sí mismo, hace los datos visibles desde fuera del objeto, y cuyo valor puede ser alterado por la ejecución de algún método. En términos generales los atributos corresponden a las características de un objeto.
Método
Algoritmo asociado a un objeto o clase, cuya ejecución se desencadena tras la recepción de un “mensaje”. Desde el punto de vista del comportamiento es lo que el objeto puede hacer, las acciones específicas que puede realizar.
Mensaje
Es una comunicación dirigida desde un evento a un objeto, que le ordena que ejecute unos de sus métodos. Es la acción que realiza el objeto, es decir es la llamada a una función del objeto.
Evento
Un suceso en el sistema. El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente.
Estado interno
Es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método y se utiliza para indicar distintas situaciones posibles para el objeto.
Un ejemplo que resume todos estos conceptos lo podemos ilustrar de la siguiente manera:
Propiedades del Diseño Orientado a Objeto
Identidad
Expresa que aunque dos objetos sean exactamente iguales en sus atributos, son distintos entre sí.
Encapsulamiento
También llamado “ocultación de la información”. Cada objeto está aislado del exterior, y expone una interfaz a otros objetos que específica cómo pueden interactuar entre ellos. El aislamiento protege 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 éste.
Por lo tanto la encapsulación es el modo de unificar los datos y la manera de manipularlos, de tal forma que solo se exponga al mundo exterior la información mediante propiedades y la forma de manipularla mediante métodos, ocultando los detalles usados para manejar esos datos y, lo que es más importante, evitando que nadie manipule de una forma no controlada dicha información. Ej.: Continuando con el ejemplo del celular, podemos decir cuando observamos un celular podemos saber la marca, el tamaño, el color, si tiene cámara e incluso hoy día se puede determinar a simple vista si corresponde a la línea de los blackberries, pero no podemos determinar si tiene la capacidad para almacenar 300, 500 ó 1000 contactos, tampoco podemos saber los megapiceles de la cámara, entre otras cosas.
Polimorfismo
En programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo interfaz. O sea, un mismo identificador puede tener distintas formas (distintos cuerpos de función, distintos comportamientos) dependiendo del contexto en el que se encuentre. Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, pero se utilizará el comportamiento correspondiente al objeto en uso. En fin es la capacidad de un objeto de responder de diferente manera a la invocación de un método con el mismo nombre, dependiendo de la clase a la cual pertenezca. Ej.: El celular y el teléfono fijo son objetos de diferente clase (recordemos telefonía móvil y telefonía fija); sin embargo, realizan una misma función llamar pero de diferente manera.
Herencia
Las clases están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.
Entonces, cuando una clase hereda de otra, significa que esa clase obtiene los mismos métodos y propiedades de la otra clase, permitiendo así añadir a las características heredadas las suyas propias, todo esto con el fin de poder tener un diseño en el que todo se vaya descomponiendo en problemas o módulos que van de los más general a lo más específico y que a su vez estén conectados entre sí. Ej.: El primer teléfono celular fue el llamado Motorola DynaTAC 8000X. era analógico y apareció por primera vez en el año de 1983, el teléfono celular que se creó después de él heredo características de este Motorola entre ellas la característica analógica, pero añadiendo la propia como por ej. el tamaño un poco más reducido.
Abstracción
Es la forma más general de ver a un objeto, sin meternos en su composición interior u otros componentes. Ej.: Sabemos que el celular es un teléfono móvil que sirve para comunicarnos a través de llamadas o mensajes desde cualquier lugar; más no nos detenemos a saber como funciona el internamente para enviar el mensaje, o cual es la composición de su chip, etc.
Mantenibilidad
Debe ser fácilmente modificable. Es decir que los cambios en las condiciones externas (como la definición de una nueva variable) implicarán
...