Schnittstellen mit Prozeduren verwenden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Schnittstellen verwenden


Schnittstellen ermöglichen das Schreiben generischer Prozeduren zur Verarbeitung von Objekten, die keine Nachkommen derselben Basisklasse sein müssen. Mit den oben verwendeten Schnittstellen IPaint und IRotate können die folgenden Prozeduren geschrieben werden:

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 setzt nicht voraus, dass Objekte die Informationen für ihre Bildschirmdarstellung besitzen, PaintObjects setzt nicht voraus, dass Objekte die zum Drehen erforderlichen Informationen besitzen. Dadurch können diese generischen Prozeduren wesentlich öfter genutzt werden, als dies der Fall wäre, wenn sie explizit für eine TFigure-Klasse geschrieben würden.

Siehe auch