type
IShape = interface
function GetArea: Integer;
end;
TSquare = class(TInterfacedObject, IShape)
public
SideLength: Integer;
constructor Create(ASideLength: Integer);
function GetArea: Integer;
end;
constructor TSquare.Create(
ASideLength: Integer);
begin
SideLength := ASideLength;
end;
function TSquare.GetArea: Integer;
begin
Result := SideLength * SideLength;
end;
var
Square: IShape;
begin
Square := TSquare.Create(5);
WriteLn('area is ', Square.GetArea);
//area is 25
end.