Jump to content

Delegates: Difference between revisions

1,017 bytes added ,  12 years ago
no edit summary
No edit summary
Line 344:
return 0;
}</lang>
 
=={{header|Delphi}}==
Translation of the Java example found at [http://en.wikipedia.org/wiki/Delegation_pattern Wikipedia].
<lang Delphi>
unit Printer;
 
interface
 
type
// the "delegate"
TRealPrinter = class
public
procedure Print;
end;
 
// the "delegator"
TPrinter = class
private
FPrinter: TRealPrinter;
public
constructor Create;
destructor Destroy; override;
procedure Print;
end;
 
implementation
 
{ TRealPrinter }
 
procedure TRealPrinter.Print;
begin
Writeln('Something...');
end;
 
{ TPrinter }
 
constructor TPrinter.Create;
begin
inherited Create;
FPrinter:= TRealPrinter.Create;
end;
 
destructor TPrinter.Destroy;
begin
FPrinter.Free;
inherited;
end;
 
procedure TPrinter.Print;
begin
FPrinter.Print;
end;
 
end.
----
program Delegate;
 
{$APPTYPE CONSOLE}
 
uses
SysUtils,
Printer in 'Printer.pas';
 
var
PrinterObj: TPrinter;
begin
PrinterObj:= TPrinter.Create;
try
PrinterObj.Print;
Readln;
finally
PrinterObj.Free;
end;
end.
</lang>
 
=={{header|E}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.