Sekilas Tentang Generics

Generics pertama kali diperkenalkan pada Delphi 2009. Dengan adanya fitur ini, kita bisa mendefinisikan sebuah kelas tanpa mendefinisikan secara khusus tipe data dari atribut dari kelas tersebut. Untuk mempermudah pemahaman tentang generics, berikut ini saya berikan dua contoh source code yang memanfaatkan fitur generics.

Contoh 1

    type
      TGenericContainer = class
      Value : T;
     end;

 
    var
      genericInt : TGenericContainer;
      genericStr : TGenericContainer;
    begin
      genericInt := TGenericContainer.Create;
      genericInt.Value := 2009; //only integers
      genericInt.Free;

      genericStr := TGenericContainer.Create;
      genericStr.Value := 'Delphi Generics'; //only strings
      genericStr.Free;
    end; 
  
Contoh 2 


    TSomeClass = class
    private
      FData : T;
      procedure SetData(inData : T);
    public
      property Data : T read FData write SetData;
    end;

    var
      a : TSomeClass;
      b : TSomeClass;
      c : TSomeClass;
    begin
      a := TSomeClass.Create;
      a.Data := 5;
      a.Free;

      b := TSomeClass.Create;
      b.Data := 'The rain in spain';
      b.Free;

      c := TSomeClass.Create;
      c.Data := Button1;
      c.Free;

0 comments:

Post a Comment