Tecnologia oo

Solo disponible en BuenasTareas
  • Páginas : 20 (4867 palabras )
  • Descarga(s) : 4
  • Publicado : 4 de agosto de 2010
Leer documento completo
Vista previa del texto
Weitzenfeld: Capítulo 2

1

2 Tecnología Orientada a Objetos
Dado que un aspecto primordial de este libro es el software orientado a objetos es entonces necesario comprender que significa esta tecnología. Comenzamos discutiendo brevemente cuales son los mitos y cuales las realidades con esta tecnología. Continuamos describiendo los aspectos básicos que distinguen a la programación orientadaa objetos con respecto a la manera tradicional de programación. El resto del capítulo describirá la motivación, y conceptos detrás de esta tecnología junto con una breve reseña de los más importantes lenguajes orientados a objetos. 2.1 Mitos y Realidades La orientación a objetos es un buen ejemplo de cómo un “pequeño detalle” puede significar tan crítico, algo similar a la famosa frase de NeilArmstrong cuando pisó la luna: “Un pequeño paso para un hombre, un gran paso para la humanidad”. Sin exagerar con la similitud analicemos qué significa este pequeño paso tecnológico que tanto ha significado para el desarrollo de software. 2.1.1 Programación Tradicional En la programación tradicional, conocida como estructurada, es separar los datos del programa de las funciones que los manipulan. Elprograma o aplicación completa, consiste de múltiples datos y múltiples funciones, como se muestra en la Figura 2.1.

Datos

Funciones
Figura 2.1 Programación estructural: datos y funciones globales. Esta forma de programar tiene sus orígenes en la arquitectura “von Neumann” de las primeras computadoras modernas. La arquitectura básica es la misma utilizada en la actualidad a nivel comercialen las PCs y se basa de manera simplificada en una unidad central de procesamiento (CPU) y una memoria donde se carga el programa o aplicación que debe ejecutarse. (El disco duro guarda a largo plazo la aplicación para que ésta no se pierda pero no juega un papel primordial cuando la aplicación se ejecuta.) La memoria en sí se divide en una sección donde se guardan las funciones del programa,correspondiente al código que controla la lógica de la aplicación, y otra sección de datos donde se guarda la información que quiere manipularse. Dada esta separación entre funciones y datos en la memoria lo más lógico siempre ha sido utilizar una programación que se ajustara a ello dando origen a un gran número de lenguajes basados en esta estructuración. Esta manera de programar tiene dos problemasprincipales. El primer problema es obligar a un programador a pensar como la máquina, en lugar de lo opuesto. El segundo problema es que toda la información presente es conocida y potencialmente utilizada por todas las funciones del programa y si se hiciera algún cambio en la estructura de alguno de los datos (se consideran todos como “globales”), potencialmente habría que modificar todas lasfunciones del programa para que éstas pudieran utilizar la nueva estructura. ¿Que tan problemático pudiese ser esto? Pues que mejor ejemplo que el problema del año 2000 donde un dato tan insignificante como la fecha, que al cambiarse de dos a cuatro dígitos resultó en costos mundiales de cerca de $1 trillón de dólares. Lo que empeoró las cosas fue que todos estos programas tenían miles de funcionesdonde cada una de ellas requería de la fecha para funcionar correctamente, cómo en el caso de aplicaciones bancarias y nóminas de compañías. 2.1.2 Programación Orientada a Objetos ¿Cómo puede ayudarnos la orientación a objetos a solucionar los dos problemas principales de la programación tradicional? La respuesta es que la orientación nos ayuda a mejorar radicalmente ambas situaciones gracias a quela unidad básica de programación es el objeto. A nivel organizacional el concepto del objeto nos acerca más a la manera de pensar de la gente al agregar un nivel de abstracción adicional donde internamente la estructura del programa se ajusta a la arquitectura de la máquina. En relación al segundo problema, los datos globales desaparecen, asignando a cada objeto sus propios datos y funciones...
tracking img