Programación Orientada a Objetos
Enviado por icruz • 3 de Abril de 2014 • 4.581 Palabras (19 Páginas) • 363 Visitas
LA PROGRAMACION ORIENTADA A OBJETOS FRENTE A LA PROGRAMACION ESTRUCTURADA
En el articulo se describe las características, ventajas y desventajas de la Programación Orientada a Objetos frente a la metodología tradicional como lo es la Programación Estructurada para el desarrollo de software. Como también se hace una comparación de dos niveles: macroscópica y microscópica.
Carlos Alberto Vanegas•
Introducción
Cuando hablamos de la crisis del software hacemos énfasis en todos los inconvenientes que se presentan en el proceso de desarrollo, en la calidad de los programas que se producen y en los procesos de mantenimiento. Estos problemas han incidido directamente en el incremento en los costos de construcción del software. El costo del mantenimiento (correctivo y evolutivo) pueden alcanzar alrededor del 70% del costo total del producto. Las posibles fuentes de estos problemas se deben buscar en el proceso mismo de construcción de software y, en especial, en las metodologías utilizadas para tal fin.
El ciclo de vida del software esta dividido en tres etapas: Análisis, Diseño e implementación. En la etapa de análisis, estudiamos el problema y establecemos los requerimientos que se desean satisfacer. En la etapa de diseño se implanta una solución al problema. En la etapa de implementación se desarrolla el software; después que ha estado en uso, se realizan cambios en los requerimientos o errores de funcionamiento. Vamos a centrarnos en la implementación.
El factor central de la subetapa de diseño es el modelaje del mundo en el que se presenta el problema, lo que se logra es abstrayendo y copiando las características de sus elementos y sus relaciones, lo mismo que el problema que desea resolver. Esta es, indudablemente la etapa donde se determina las características estructurales de la solución. De acuerdo con esto, una metodología de diseño es una forma de lograr un modelo del mundo del problema, un lenguaje de programación es una sintaxis para implantar el modelo y un esquema de implantación es una manera de traducir el modelo a un lenguaje de programación. Existen muchos modelos validos para un mismo mundo, muchas maneras de lograrlo, muchas sintaxis para expresarlo y muchas maneras para hacer la implantación, siendo todas perfectamente utilizables. En consecuencia, el programador se debe plantear, entre otras muchas las siguientes preguntas, Bajo que criterios debe escoger una metodología de diseño?, Que características del problema hacen que una metodología sea más conveniente que otra?, etc..
Vamos a realizar comparaciones de la Programación Orientada a Objetos (POO) con la metodología de Programación Estructurada (PE).
En la PE existe uniformidad en la terminología y en los conceptos que se manejan la PE debido al tiempo que han tenido para madurar y su gran difusión. Esto no sucede con la POO en donde hay un gran problema grave de terminología y una tendencia preocupante hacia la trivilización de todos los conceptos.
1. LA PROGRAMACION ORIENTADA A OBJETOS (POO)
El paradigma de la POO se basa en la idea que el mundo puede ser modelado como un conjunto de objetos que interactuan entre sí, de manera que programar se reduce a identificar dichos objetos y copiar adecuadamente las características y comportamientos. El objetivo central del diseño es que todo elemento del mundo (objeto real) corresponda directamente a un objeto del mundo computacional (objeto formal) que lo modele. El proceso de programación se puede resumir de la siguiente manera:
a. Identificar las clases de objetos y sus atributos.
b. Identificar y especificar sus operaciones
c. Implantar las clases de objetos
Cada uno de estos pasos corresponde a refinamientos progresivos, buscando cada vez el mejoramiento del modelaje que se está haciendo del mundo. Es muy usual tener que regresar a pasos anteriores para mejorar algún aspecto del diseño. La POO se basa en cuatro conceptos básicos: Objetos, Clases, métodos y herencia.
Objeto: Cada elemento del mundo involucrado en el problema debe tener una adecuada representación dentro de un programa. Un objeto es la representación de un elemento del mundo real (mucho mas que un dato, mucho mas que un simple conjunto de variables con un conjunto de procedimientos asociados). Para hacer esto debemos copiar todas las características observables e interesantes (para el problema) del objeto como también su comportamiento. Un objeto esta compuesto por un conjunto de atributos (objetos más simples) que mantienen el estado actual del objeto y un conjunto de métodos que representa su comportamiento, es decir, la forma de reaccionar a los diversos estímulos que se le pueden presentar. Cada objeto reconoce y puede responder a determinadas acciones denominadas eventos. Un evento es una actividad especifica y predeterminada, iniciada por el usuario o por el sistema.
Clase: Si programar utilizando el enfoque orientado por objetos consistiera en modelar individualmente todos y cada uno de los elementos del mundo real involucrados en el problema, la tarea sería realmente pesada y larga. Se deben tratar entonces de no concentrarse en describir elementos individuales, si no de encontrar patrones de objetos que, por sus características comunes, puedan ser representados de una manera similar. Cada uno de estos patrones se denomina una clase. Las clases son los paquetes principales de la programación orientada a objetos. Las clases y los objetos están estrechamente relacionados, pero no son lo mismo, una clase contiene información sobre el cuál debe ser la apariencia y el comportamiento de un objeto. Una clase es el plano o esquema de un objeto. Por ejemplo, el esquema eléctrico y de diseño de un teléfono seria similar a una clase. El objeto, o una instancia de la clase, seria el teléfono.
La estructuración de una clase en un lenguaje de programación orientada a objetos seria:
class Nombre_de_la_clase
{
atributos; // encapsulamiento de los datos
metodos(); // comportamientos del objeto
}
Método: El comportamiento de los objetos de una clase se representa a través de métodos. Estos le indican la manera de reaccionar a los diversos estímulos que le pueden llegar. La interacción entre los objetos del sistema se hace por medio de mensajes: Un objeto envía a otro un mensaje a manera de estímulo para obtener de éste una respuesta. El receptor del mensaje decide cual de sus métodos debe activar para responder. Un método es una secuencia de mensajes a otros objetos más simples (en la mayoría de
...