Delphi-6 - среда разработки программного обеспечения для систем промышленной автоматизации. Букреев В.Г - 75 стр.

UptoLike

Составители: 

ся к удаленному объекту так, как если бы он был ее собственным объек-
том.
Интерфейсы представляют собой частный случай описания типов.
Они объявляются с помощью зарезервированного слова interface. На-
пример:
type
IEdit = interface
procedure Copy; stdcall;
procedure Cut; stdcall;
procedure Paste; stdcall;
function Undo: Boolean; stdcall;
end;
Такое объявление эквивалентно описанию абстрактного класса в
том смысле, что провозглашение интерфейса не требует расшифровки
объявленных в нем свойств и методов.
В отличие от классов интерфейс не может содержать поля, и сле-
довательно, объявляемые в нем свойства в разделах read и write могут
ссылаться только на методы. Все объявляемые в интерфейсе члены раз-
мещаются в единственной секции public. Методы не могут быть абст-
рактными (abstract), виртуальными (virtual), динамическими (dynamic)
или перекрываемыми (override). Интерфейсы не могут иметь конструк-
торов или деструкторов, т. к. описываемые в них методы реализуются
только в рамках поддерживающих их классов, которые называются ин-
терфейсными.
Если какой-либо класс поддерживает интерфейс (т. е. является
интерфейсным), имя этого интерфейса указывается при объявлении
класса в списке его родителей:
TEditor = class(TInterfacedObject,IEdit)
procedure Copy; stdcall;
procedure Cut; stdcall;
procedure Paste; stdcall;
function Undo: Boolean; stdcall;
end;
В отличие от обычного класса интерфейсный класс может иметь
более одного родительского интерфейса:
type
IMylnterface = interface procedure Delete; stdcall;
end;
TMyEditor = class(TInterfacedObiect, lEdit, IMylnterface)
75