ВУЗ:
Составители:
Рубрика:
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;
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »