Введение в программирование

       

Объявление производного типа


Кроме базовых типов данных, рассмотренных в лекции 6, язык Object Pascal предоставляет простые и структурированные типы данных.

Используя базовые, простые и структурированные типы данных, можно создавать производные типы данных.

Напомним, что к базовым типам относятся:

  • целочисленный тип;
  • действительный тип;
  • логический тип;
  • символьный тип;
  • строковый тип.

К простым типам относятся:

  • порядковый тип;
  • перечислимый тип.

К структурированным типам относятся:

  • множества;
  • массивы;
  • записи;
  • файлы;
  • объектный тип (тип класса);
  • тип ссылки на класс.

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

Объявление произвольного типа как нового имени существующего типа в языке Object Pascal имеет следующее формальное описание:

type имя_нового_типа = имя_существующего_типа;

Объявление произвольного типа как нового типа в языке Object Pascal имеет следующее формальное описание:

type имя_нового_типа = type имя_существующего_типа;

При объявлении произвольного типа как нового имени типа, тип переменных производного типа и типа, используемого для его создания, будет совпадать. Если перед именем существующего типа указать ключевое слово type, то компилятор создаст новый тип. При этом указание в качестве формального параметра подпрограммы переменной существующего типа, а в качестве фактического параметра подпрограммы - переменной нового типа, созданного на базе данного существующего типа, вызовет для var-параметров ошибку времени компиляции.

В языке Object Pascal объявление типов и переменных может быть выполнено только в определенных местах программы: секция объявления типа type используется для объявлений типов, а секция var для объявления переменных.

Например:

type TValReal1 = Real; var // Переменные X и Y имеют // один и тот же тип X: Real; Y: TValReal1; Е type TValReal2 = type Real; var // Переменные X и Y имеют разные типы X: Real; Y: TValReal2;



Содержание раздела