Сравнительное объектно-ориентированное проектирование - 4 стр.

UptoLike

Составители: 

4
Конструктор класса TSprite имеет два параметра, определяющие
прямоугольник спрайта и список, которому спрайт принадлежит.}
interface
//Модули VCL, в которых описаны используемые в интерфейсе типы
uses Controls,Graphics,Classes,Types;
type
// Предварительное объявление класса TSprite
TSprite=class;
// Тип переменных, содержащих ссылки на классы типа TSprite
TSpriteClass=class of TSprite;
// Список спрайтов
TSpriteList=class
private
// Поля
// Хранит канву ("контекст устройства"), используемую для отображения спрайтов списка
FCanvas:Controls.TControlCanvas;
// Хранит режим отображения графического объекта при его копировании на канву
FCanvasCopyMode:Graphics.TCopyMode;
// Хранит прямоугольник, ограничивающий область отображения спрайтов списка
FClientRect:Types.TRect;
// Хранит список указателей на спрайты
FList:Classes.TList;
// Хранит текущее число спрайтов в списке
FCount:integer;
// Метод
// Возвращает спрайт списка под номером aZ
function GetSprite(aZ:integer):TSprite;
public
// Свойства
// Возвращает спрайт из списка как элемент массива
property Sprites[aZ:integer]:TSprite read GetSprite;default;
// Возвращает текущее число спрайтов в списке
property Count:integer read FCount;
// Возвращает ссылку на список указателей спрайтов
property List:Classes.TList read FList;
// Возвращает ссылку на канву, с которой связаны спрайты списка
property Canvas:Controls.TControlCanvas read FCanvas;
// Возвращает прямоугольник, ограничивающий область изображения спрайтов списка
property ClientRect:Types.TRect read FClientRect;
// Конструктор
// Создает и инициализирует экземпляр списка спрайтов, связанного с данной канвой
constructor Create(const aCanvas:Controls.TControlCanvas);
// Методы
// Реализует действия перед освобождением объекта
procedure BeforeDestruction;override;
// Создает и добавляет в список объект класса aSpriteClass,
// занимающего прямоугольник SpriteRect