Статические и экземплярные методы

Когда определение метода содержит модификатор Shared такой метод называется статическим. Когда модификатора Shared нет в определении метода он называется экземплярным.

Статический метод не оперирует конкретным экземпляром, является ошибкой компиляции использование конструкции Self в статическом методе.

Экземплярный метод оперирует определенным экземпляром класса, который может быть получен посредством конструкции Self.

Различия между статическими и экземплярными членами описано в разделе «Статические и экземплярные члены».

Пример

Class SharedMethod
    Public Shared i: integer;
    Public Shared o: object;
    Shared b: boolean;
    
    Public Shared Sub Reset();
    Begin
        i := 0;
        o := Null;
    End Sub;
    
    Public Shared Function TestObject(): boolean;
    Begin
        If (i <> 0And (o <> NullThen
            b := True;
        Else
            b := False;
        End If;
        Return b;
    End Function;
    
    Public Sub Execute();
    Begin
        
    End Sub Execute;
End Class;

Sub Test();
Var
    Obj: SharedMethod = New SharedMethod();
Begin
    SharedMethod.Reset();
    ...
    SharedMethod.i := //Установка значения
    SharedMethod.o := //Установка значения
    ...
    If SharedMethod.TestObject() Then
        //Действия, если функция вернула значение True
    Else
        //Действия, если функция вернула значение False
    End If;
    Obj.Execute();
End Sub;

См.также:

Методы