Классы

Классы — это специальные типы данных языка Object Pascal, которые используются для описания объектов.

В состав класса входят поля, свойства и методы. Подробное их описание смотрите далее в этой главе.

Типичное определение нового класса выглядит следующим образом:

type Имя класса = class (Класс-предок)
{Список состава класса} private
{частные описания} protected {защищенные описания} public
{общедоступные описания} published
{опубликованные описания}
end;
где Имя класса — любое корректное имя (выбирается произвольно), Класс-предок — название класса, наследником которого является создаваемый класс, а Cписок состава класса содержит свойства и методы нового класса.

Для каждого элемента класса можно установить разную видимость. Для этого предназначены четыре ключевых слова: private, protected, public и published.

Видимость элемента класса определяет, где в программе и как будет виден данный элемент класса. Минимальная видимость элемента класса задается ключевым словом private, ключевое слово protected определяет средний уровень видимости. Наконец, public и published определяют наивысшую степень доступности.

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

Рассмотрим все четыре ключевых слова более подробно.

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

В Kylix имеется понятие абстрактного класса.

Абстрактный класс описывает несуществующий объект. Он нужен для того, чтобы описать некоторые фундаментальные свойства и методы объектов, которые будут созданы из абстрактного класса.

Все объекты в Kylix созданы из абстрактного класса TObject. Класс TObject — предок многих простых классов. Этот класс объединяет в себе основные функции, которые свойственны всем объектам Kylix. TObject обеспечивает:

Итак, все классы в Kylix — потомки класса TObject.

Класс называется прямым потомком класса TObject, если он произведен непосредственно от класса TObject.

Класс называется косвенным потомком от класса TObject, если он произведен от класса, являющегося прямым или косвенным потомком класса TObject (то есть произведен от промежуточного класса).

Примечание

В другой литературе можно встретить названия дочерний класс и класс-потомок. Дочерний класс — это прямой потомок, а класс-потомок — это косвенный потомок в терминологии данной книги.

Если при создании нового класса не указывается родительский класс, то считается, что родитель — класс TObject.

Hosted by uCoz