pascalabcnet/TestSuite/explicitinterface3.pas
Бондарев Иван fbf8516130 bug fix #2059
2019-08-18 11:16:53 +02:00

34 lines
631 B
ObjectPascal

var s: string;
type
IWindow = interface
procedure Menu;
end;
IRestaurant = interface
procedure Menu;
end;
RestaurantSystem = class(IWindow,IRestaurant)
public
procedure Menu; virtual;
begin
s := 'RestaurantSystem.Menu';
end;
procedure IWindow.Menu;
begin
s := 'IWindow.Menu';
end;
procedure IRestaurant.Menu;
begin
s := 'IRestaurant.Menu';
end;
end;
begin
var r := new RestaurantSystem;
r.Menu;
assert(s = 'RestaurantSystem.Menu');
IWindow(r).Menu;
assert(s = 'IWindow.Menu');
IRestaurant(r).Menu;
assert(s = 'IRestaurant.Menu');
end.