Delphi - сбориник статей

       

Ненаследуемые классы


Если по каким-то причинам разработчик хочет запретить создание наследников класса, это можно сделать используя модификатор sealed.

type TMyFinalClass = class sealed(TObject) end;

Так же, в язык добавлено ключевое слово final для вирутальных и динамических методов, запрещающее их дальнейшее перекрытие. Эта возможность присутствует как в компиляторе .NET, так и в компиляторе для Win32

Например, компиляция кода

type TClass1 = class private .... public constructor Create; destructor Destroy; override; final; .... end; TClass2 = class(TClass1) .... public destructor Destroy; override; end;

приведет к ошибке - E2352 Cannot override a final method.



Содержание раздела