Базовые интерфейсы

Интерфейс может быть производным от нуля или более интерфейсов, которые в этом случае называются родительскими для него. Когда интерфейс имеет один или более родительских они указываются в заголовке его определения после двоеточия.

interface-base:

:   interface-type-list

Родительские интерфейсы должны иметь уровень доступа не ниже, чем сам интерфейс.

Является ошибкой компиляции наследование интерфейса от самого себя непосредственно или опосредовано.

Базовыми интерфейсами для данного интерфейса являются его родительские интерфейсы и их базовые. Другими словами множество базовых интерфейсов для данного получается транзитивным замыканием отношения наследования. Интерфейс наследует все члены его базовых интерфейсов.

Класс или структура, реализующие интерфейс, также неявно реализуют все его базовые интерфейсы.

Пример

Interface IBaseInterface
    Sub Base();
End Interface;

Interface IUserInterface: IBaseInterface
    Function UserCaclulation(): boolean;
End Interface;

Class UserObject: IUserInterface
    b: boolean;
    
    Public Function UserCaclulation(): boolean;
    Begin
        //Код функции
        Return b;
    End Function;
    
    Public Sub Base();
    Begin
        
    End Sub;
End Class;

См. также:

Интерфейсы