Сбой при прямом вызове TmyClass.getSomething
, но может быть полезен в сочетании с метаклассами. Это дает вам возможность определять абстрактный API так же, как это делается в функциях, не относящихся к классу.
Например:
TmyClassClass = class of TMyClass;
TmyClass1 = class(TmyClass)
public
class function getSomething: integer; override;
end;
var
c: TmyClassClass;
c := TmyClass1;
c.getSomething;
Конечно, вы всегда можете использовать функции класса для экземпляров объекта, поэтому вызов getSomething
для TMyClass1
экземпляра объекта также будет работать.