Когда определение экземплярного метода содержит модификатор Abstract такой метод называется абстрактным. Абстрактные методы неявно также являются виртуальными, соответственно не допускается использовать модификатор Virtual в их определении.
Определение абстрактного метода вводит новый виртуальный метод, но не описывает реализацию этого метода. Определения абстрактных методов допустимы только в абстрактных классах. Все неабстрактные классы, являющиеся производными от абстрактного, должны обеспечивать реализацию всех абстрактных методов путем их переопределения.
Является ошибкой компиляции использование абстрактного метода в выражении доступа к базовому классу.
Допустимо определению абстрактного метода переопределять виртуальный метод.
Abstract Class AbstractMethod
Abstract Public Sub Test();
Abstract Protected Function Run(): boolean;
End Class;
Class Sample: AbstractMethod
b: boolean;
Public Override Sub Test();
Begin
End Sub;
Protected Override Function Run(): boolean;
Begin
Return b;
End Function;
End Class;
См.также: