ОБЪЕКТЫ
Объектно-ориентированное программирование является одним из самых современных направлений в создании программного обеспечения. В основе этого понятия лежит понятие объекта, который включает в себя не только данные, но и методы обработки этих данных. PASCAL 7.0 дает широкие возможности по объектно-ориентированному программированию. К сожалению, из-за ограниченного объема они остаются за рамками нашей книги. В одной из ближайших книг мы подробно рассмотрим методы и алгоритмы объектно-ориентированного программирования. ПРЕОБРАЗОВАНИЕ ТИПОВ ДАННЫХ При использовании различных типов данных часто встает вопрос об их совместимости. Мы различаем идентичные типы, совместимые типы и типы, совместимые для присваивания. Идентичность типов подразумевает, что истинно одно из следующих утверждений: ■ ТР1 и ТР2 - один и тот же тип; ■ ТУРЕ ТР1 = ТР2 или ТУРЕ ТР2 = ТР1. Например, определение TYPE ТР1 = CHAR; ТР2 = ТР1; ТРЗ = CHAR;дает идентичные типы ТР1, ТР2, ТРЗ и CHAR, a VAR Ml: ARRAY [ 1..7] OF CHAR; M2: ARRAY [ 1..7] OF CHAR;не дает идентичность Ml и M2, хотя их значения одного типа. Совместимость типов данных дает возможность использовать в программах различные отношения и операции. Для того чтобы типы были совместимыми, необходима истинность одного из следующих утверждений: ■ ТР1 и ТР2 - идентичные типы; ■ ТР1 и ТР2 - целые типы; ■ ТР1 и ТР2 - вещественные типы; ■ ТР1 и ТР2 - типы-диапазоны одного и того же типа или один из них имеет другой тип; ■ один тип вещественный, другой - целый; ■ ТР1 и ТР2 - типы-множества с совместимыми базовыми типами; ■ один тип - строка, другой - строка или символ; ■ один тип - POINTER, другой - любой тип-указатель; ■ ТР1 и ТР2 - процедурные типы с идентичным числом и типом параметров и идентичным типом результата для функции; ■ один тип - PCHAR, другой - массив символов с нулевым символом в последнем элементе массива (при наличии ключа компилятора {$Х+}); ■ ТР1 и ТР2 - указатели, привязанные к величинам идентичных типов. Совместимость для присваивания, т. е. ТР1:= ТР2, возможна, если выполняется одно из условий: ■ ТР1 и ТР2 идентичны, не являются файловыми типами и не содержат компонентов файлового типа; ■ ТР1 и ТР2 - совместимые порядковые или вещественные типы, и значения ТР1 находятся в границах интервала возможных значений ТР2; ■ ТР1 и ТР2 - строки; ■ ТР1 - вещественный, и ТР2 - целый; ■ ТР1 - строка, и ТР2 - символ; ■ ТР1 и ТР2 - совместимые типы-множества, и все значения ТР1 попадают в ТР2; ■ ТР1 и ТР2 - совместимые указатели; ■ ТР1 и ТР2 - совместимые процедурные типы; ■ ТР1 и ТР2 - объектные типы, и ТР1 - потомок ТР2; ■ ТР1 и ТР2 - указатели на объектные типы и ТР1 указатель на потомка ТР2; ■ один тип - PCHAR, другой - массив символов с нулевым символом в последнем элементе массива (при наличии ключа компилятора {$Х+}); ■ ТР1 типа PCHAR, и ТР2 - строковая константа. В ряде случаев, если переменные имеют один размер, возможно преобразования типов.
|