ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Deficion Genrerica


Enviado por   •  18 de Noviembre de 2012  •  1.097 Palabras (5 Páginas)  •  278 Visitas

Página 1 de 5

5. CLASES Y FUNCIONES GENÉRICAS

Plantillas

Hemos indicado que en la programación clásica existía una clara diferenciación entre

los datos y su manipulación, es decir, entre los datos y el conjunto de algoritmos para

manejarlos. Los datos eran tipos muy simples y generalmente los algoritmos estaban

agrupados en funciones orientadas de forma muy específica a los datos que debían

manejar.

Posteriormente la POO introdujo nuevas facilidades; la posibilidad de extender el

concepto de dato, permitiendo que existiesen tipos más complejos a los que se podía

asociar la operatoria necesaria. Esta nueva habilidad fue perfilada con un par de mejoras

adicionales: la posibilidad de ocultación de determinados detalles internos irrelevantes

para el usuario, y la capacidad de herencia simple o múltiple.

Observe que las mejoras introducidas por la POO se pueden sintetizar en tres palabras:

composición, ocultación y herencia. De otro lado, la posibilidad de incluir juntos los

datos y su operatoria no era exactamente novedosa. Esta circunstancia ya existía de

forma subyacente en todos los lenguajes. Recuerde que el concepto de entero (int en C)

ya incluye implícitamente todo un álgebra y reglas de uso para dicho tipo. Observe

también que la POO mantiene un paradigma de programación orientado al dato (o

estructuras de datos). De hecho los "Objetos" se definen como instancias concretas de

las clases y estas representan nuevos tipos-de-datos, de modo que POO es sinónimo de

Programación Orientada a Tipos-de-datos.

Programación genérica

Desde luego la POO supuso un formidable avance del arsenal de herramientas de

programación. Incluso en algunos casos, un auténtico balón de oxígeno en el desarrollo

y mantenimiento de aplicaciones muy grandes, en las que se estaba en el límite de lo

factible con las técnicas programación tradicional. Sin embargo, algunos teóricos

seguían centraron su atención en los algoritmos. Algo que estaba ahí también desde el

principio. Se dieron cuenta que frecuentemente las manipulaciones contienen un

denominador común que se repite bajo apariencias diversas. Por ejemplo, la idea de

ordenación "Sort" se repite infinidad de veces en la programación, aunque los objetos a

ordenar y los criterios de ordenación varíen de un caso a otro. Alrededor de esta idea

surgió un nuevo paradigma denominado programación genérica o funcional.La programación genérica está mucho más centrada en los algoritmos que en los datos y

su postulado fundamental puede sintetizarse en una palabra: generalización. Significa

que, en la medida de lo posible, los algoritmos deben ser parametrizados al máximo y

expresados de la forma más independiente posible de detalles concretos, permitiendo así

que puedan servir para la mayor variedad posible de tipos y estructuras de datos.

Los expertos consideran que la parametrización de algoritmos supone una aportación a

las técnicas de programación, al menos tan importante, como fue en su momento la

introducción del concepto de herencia, y que permite resolver algunos problemas que

aquella deja sin solución.

Observe que la POO y la programación genérica representan enfoques en cierta forma

ortogonales entre si:

La programación orientada al dato razona del siguiente modo: representemos un tipo de

dato genérico (por ejemplo int) que permita representar objetos con ciertas

características comunes (peras y manzanas). Definamos también que operaciones

pueden aplicarse a este tipo (por ejemplo aritméticas) y sus reglas de uso,

independientemente que el tipo represente peras o manzanas en cada caso.

Por su parte la programación funcional razona lo siguiente: construyamos un algoritmo

genérico (por ejemplo sort), que permita representar algoritmos con ciertas

características comunes (ordenación de cadenas alfanuméricas y vectores por ejemplo).

Definamos también a que tipos pueden aplicarse a este algoritmo y sus reglas de uso,

independientemente que el algoritmo represente la ordenación de cadenas alfanuméricas

o de vectores.

Con el fin de adoptar los paradigmas de programación entonces en vanguardia, desde

sus inicios C++ había adoptado conceptos de lenguajes anteriores. Uno de ellos, la

programación

...

Descargar como (para miembros actualizados)  txt (8.2 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com