Utilisation d'interfaces avec des procédures

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des interfaces


Les interfaces vous permettent d'écrire des procédures génériques pouvant gérer des objets sans que ces objets dérivent d'une classe de base particulière. En utilisant les interfaces IPaint et IRotate définies précédemment, vous pouvez écrire les procédures suivantes :

procedure PaintObjects(Painters: array of IPaint);
var
  I: Integer;
begin
  for I := Low(Painters) to High(Painters) do
    Painters[I].Paint;
end;
procedure RotateObjects(Degrees: Integer; Rotaters: array of IRotate);
var
  I: Integer;
begin
  for I := Low(Rotaters) to High(Rotaters) do
    Rotaters[I].Rotate(Degrees);
end;

RotateObjects n'a pas besoin que les objets sachent se dessiner par eux-mêmes et PaintObjects n'exige pas que les objets sachent pivoter. Cela permet aux procédures génériques d'être utilisées plus fréquemment que si elles avaient été écrites uniquement pour la classe TFigure.

Voir aussi