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

UptoLike

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

13
За описанием класса
TTracedSpriteList и перед описанием класса TtracedSprite есть
описание другого типа динамического массива
// Тип массива точек следа спрайта
TTracePoints=array of Types.TPoint;
Это уже одномерный массив точек - записей типа TPoint, описанных в
стандартном модуле
Types.
Вслед за этим описан класс
TTracedSprite=class(TSprite)
наследник класса TSprite.
Обратите внимание, что класс
TTracedSprite, как и его предок TSprite, является
абстрактным классом, так как не реализует абстрактный метод
PaintPicture.
Вслед за описанием класса
TTracedSprite расположен текст
const DefaultColor=$ffffff; //Цвет эллипса по умолчанию
type
// Класс, изображающий спрайт в форме сплошного эллипса
TEllipseSprite=class(TTracedSprite)
Здесь
Служебное слово
const указывает на то, что DefaultColor является
постоянной величиной. Значение
DefaultColor записано в 16-ной системе
счисления, которая удобна при записи цветов. (В данном случае
$ffffff
означает максимальное число, содержащееся в трех байтах; в десятичной
системе это число равно 2
24
– 1 = 1677215.) Дело в том, что информация о
цвете в Delphi представляется четырехбайтовым целым числом. Старший
байт используется для системных цветов, а в трех младших байтах
находятся стандартные цветав младшем красный, в среднем зеленый и
в старшем байте - синий. Другими словами чисто зеленый цвет, к
примеру, отвечает числу
$ff00. В 16-ричной записи видна структура
байтов. Каждому байту отводится по две 16-ричные цифры. В данном
случае число
$ffffff означает, что все составляющие цвета входят
одинаково и с полной интенсивностьюэто белый цвет.
Вслед за описанием постоянной идет описание класса
TEllipseSprite,
поэтому набирается служебное слово
type, действие которого было
отменено
const.
Класс
TEllipseSprite является наследником класса TTracedSprite. В классе
TEllipseSprite уже реализован абстрактный метод PaintPicture, поэтому
можно создавать его экземплярысплошные эллипсовидые спрайты
заданного цвета.
Секция реализации
В этой секции модуля находится код методов пяти классов, описанных выше
implementation uses SysUtils;