Genericos Delphi

Páginas: 44 (10755 palabras) Publicado: 17 de julio de 2012
Los genéricos en Delphi 2009
Con propina sobre rutinas anónimas y las referencias de rutina
por Sébastien Doeraene (sjrd .developpez.com)
traducción por Juan Badell
Fecha de Publicación: 13 noviembre 2008
Última puesta al día:
¡ Hace tiempo que los esperábamos ! Finalmente están aquí: los genéricos en Delphi Win32. Estas pequeñas maravillas llegan con Delphi 2009. Este tutorial teda opción a comprenderlos, aprender a utilizarlos y, a continuación, diseñar tus propias clases genéricas.
Vuestros comentarios, críticas, sugerencias, etc. serán bienvenidos en el blog.
I. Introducción
I-A. Requisitos
Este tutorial no es para el principiante en Delphi que nunca ha practicado la programación orientada a objetos. Requiere conocer el lenguaje de Delphi antes, y un importanteconocimiento de la P00.
En cuanto a los genéricos, no es necesario el conocimiento previo para la correcta comprensión y asimilación de este tutorial. Sin embargo, dado el námero de artIculos sobre los genéricos existentes en otros idiomas, no cubriré en detalles las preguntas como ")Cómo usar los genéricos correctamenteT'. La siguiente sección introduce rápidamente al lector en el concepto de losgenéricos, pero si usted no sabe aán lo que es, la mejor comprensión se hará siguiendo este tutorial a través de ejemplos. AquI hay algunos artIculos que tratan los genéricos en otros lenguajes / plataformas. Los conceptos son siempre los mismo, y gran parte de su puesta en escena también.
· Les génériques sous Delphi .NET por Laurent Dardenne ;
· Generics avec Java Tiger 1.5.0 por Lionel Roux;
·Cours de C/C++ - Les template por Christian Casteyde.
I-B. LQué son los genéricos?
Los genéricos, a veces llamados parámetros genéricos, un nombre que permite presentarlos mucho mejor. A diferencia del parámetro de una función (argumento), que tiene un valor, el parámetro genérico es un tipo. Y un parámetro genérico parametrizado una clase, un interfaz, un record, o, con menor frecuencia, unmétodo.
Para dar inmediatamente una idea más clara, este es un extracto de la clase TList, usted puede encontrarlo en la unidad Generics.Collections.pas.
|iSI!, es posible tener puntos en el nombre de una unidad (sin contar el del .pas). No tiene nada que nada que ver con la noción de espacio de nombres de .NET ni paquete de Java. Es sólo que '.' tiene el mismo valor que'A' a este nivel,simplemente es parte del no m bre.|

type
TList = class(TEnumerable) // ...
public
Pág. 1 de 29
Copyright © 2008 - Sébastien Doeraene – traducciónor Juanp Badell. No está permitida la reproducción, nclusoi parcial, que puedan hacer de esta página web y todo su contenido: textos, documentos, imágenes, etc, sin el permiso expreso del autor. e lo D contrario incurre la ley hasta 3años de prisión y hasta 300.000 € por daños y perjuicios.
http://sjrd.developpez.com/delphi/tutoriel/generiques/

// ...
function Add(const Value: T): Integer;
procedure Insert(Index: Integer; const Value: T );
function Remove(const Value: T): Integer; procedure Delete(Index: Integer);
procedure DeleteRange(AIndex, ACount: Integer); function Extract(const Value: T): T;procedure Clear;
property Count: Integer read FCount write SetCo unt;
property Items[Index: Integer]: T read GetItem write SetItem; default;
end;
Puede observar directamente lo extraordinario del tipo T. Pero, es esto realmente un tipo? No, es un parámetro genérico. Con esta clase, si necesito una lista de námeros enteros, utilizo TList, ien lugar de un "simple" TList con muchos operadoresnecesarios en el código!
Los genéricos nos permiten, por tanto, de alguna manera, declarar una serie de clases (potenciales) de una sola vez, o mas exactamente declarar un modelo de clase, pero con uno (o varios) tipos como parámetro, que se pueden cambiar a voluntad. A cada nueva instancia con un nuevo tipo real, es como si estuviera escribiendo una nueva clase real, desde el modelo y, por tanto,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Delphi
  • Delphi
  • Delphi
  • Delphi
  • Delphi
  • delphi
  • Delphi
  • Delphi

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS