Абстрактные методы

 

Абстрактными называются методы, которые определены в классе, но не содержат никаких действий, никогда не вызываются и обязательно должны быть переопределены в классах-потомках. Абстрактными могут быть только виртуальные и динамические методы. Для описания абстрактного метода используется директива abstract:

 

Procedure NeverCallMe; virtual; abstract;

 

Никакого кода абстрактный метод не содержит. Его вызов приведет к созданию исключительной ситуации eAbstractError.

Инкапсуляция

Инкапсуляция представляет собой комбинирование данных (записи, структуры) с процедурами и функциями для получения нового типа данных.

Здесь проводится аналогия с физическими объектами. Конкретные физические свойства определяются данными различных типов. Кроме того, любой физический объект характеризуется и своим поведением во внешнем мире. Поведение объекта задается процедурами и функциями.

Итак, инкапсуляция означает, что методы (коды) и данные одновременно представлены в одной и той же структуре.

Например,

Type

Coordinates = class

x, y : byte;

procedure Init (Xinit, Yinit: byte);

function GetX : byte;

function GetY : byte;

end;