Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_лекция-21-Т5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
80.38 Кб
Скачать

5.3.3. Абстрактные классы

Не для всех классов можно создать соответствующие им объекты. Ряд из них, обычно располагающихся на верхних уровнях иерархической структуры , не позволяют этого сделать, либо создаваемые на их основе объекты оказываются неработоспособными. Действительно, если взять, например, классы столов и мебели, то можно создать конкретный стол, но нельзя создать образец мебели вообще.

Классы, для которых нельзя создать соответствующие им объекты называются абстрактными.

5.3.4. Методы

Процедуры и функции определяющие действия над данными в типе CLASS принято называть методами.

В описании типа CLASS указываются только имена подпрограмм со списками формальных параметров (списки формальных параметров могут отсутствовать - это означает, что в подпрограмме используются глобальные переменные). Предполагается, что где-то позже (в разделе подпрограмм или модуле) располагаются тексты этих подпрограмм.

Методы класса определяются так же как и обычные подпрограммы, но в качестве имен подпрограмм используются составные имена вида

имя класса.имя метода

Например, процедура SetLocation из предыдущего примера должна быть записана в виде

Procedure Tpoint.SetLocation (Nx,Ny:Integer);

. . . . . . . . . . . . . . . .

begin

. . . . . .

End;

Здесь Tpoint.SetLocation – это составное имя.

Чтобы метод был выполнен в программе надо также указать составное имя, форма которого имеет вид

имя_объекта.имя_метода

Например инструкция

PointA.SetLocation(A,B);

вызывает применение метода SetLocation к объекту PointA . Фактически инструкция применения метода к объекту - это спецефический способ вызова процедуры.

      1. Правила назначения имен классов и их элементов.

В Object Pascal (и других языках) принято следовать следующим правилам назначения имен классов и их элементов.

Если следовать этим соглашениям, то разработка новых компонентов и чтение исходных текстов станет существенно проще.

1. Все декларации типов начинаются на букву T. Delphi не требует этого, но это делает очевидным, что "TEdit", например, есть определение типа, а не переменная или поле класса.

2. Внутреннее поле для хранения данных свойства должно носить имя, начинающееся с буквы “F”. Например, Fcount : Integer;

3. Параметр метода, значение которого присваивается какому либо полю класса, обычно имеет то же имя, что и поле, но только префикс F заменяется на А, например:

Procedure SetCount( Acount : Integer);

4. Имя метода, с помощью которого записывается значение свойства обычно начинается со слога Set. Например, метод SetStyle должен выполнять запись в свойство Style.

5. Имя метода, с помощью которого у свойства читается его значение, обычно начинается со слога Get, Например, метод GetStyle должен выполнять чтение для свойства Style.

8.Имена методов-обработчиков сообщений обычно начинаются с префикса WM, имена типов сообщений - с TWM, индексов сообщений - с WM_.

9. Имена свойств, через которые происходит обращение к обработчикам событий задаются именами с префиксом on (например, OnClick, OnCreate и т.д.).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]