Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Область действия идентификатораСодержание книги
Поиск на нашем сайте Описание переменных Переменные могут быть описаны в разделе описаний, а также непосредственно внутри любого блока begin/end. Раздел описания переменных начинается со служебного слова var, после которого следуют элементы описания вида список имен: тип; или имя: тип := выражение; или имя := выражение; Имена в списке перечисляются через запятую. Например: var s := 'Pascal forever'; al := new ArrayList; p1 := 1; В последних трех случаях тип переменной определяется по типу правой части. Переменные могут описываться непосредственно внутри блока. Внутриблочные описания переменных имеют тот же вид, что и в разделе описаний, с тем исключением, что в каждой секции var может быть лишь один элемент описания: begin Кроме того, переменные-параметры цикла могут описываться в заголовке операторов for и foreach. Описание констант Раздел описания именованных констант начинается со служебного слова const, после которого следуют элементы описания вида имя константы = значение; или имя константы : тип = значение; Например: const Описание меток Раздел описания меток начинается с зарезервированного слова label, после которого следует список меток, перечисляемых через запятую. В качестве меток могут быть использованы идентификаторы и положительные целые числа: label a1,l2,777777; Описание типов Раздел описания типов начинается со служебного слова type, после которого следуют строки вида имя типа = тип; Например, type При описании рекурсивных структур данных указатель на тип может фигурировать раньше описания самого типа в определении другого типа: type При этом важно, чтобы определения обоих типов находились в одном разделе type. В отличие от Delphi Object Pascal следующее рекурсивное описание верно: type Отметим, что для ссылочных типов (классов) разрешается описание поля с типом, совпадающим с типом текущего класса: type Любой используемый в блоке идентификатор должен быть предварительно описан. Идентификаторы описываются в разделе описаний. Идентификаторы для переменных могут также описываться внутри блока. Основная программа, подпрограмма, блок, модуль, класс образуют так называемое пространство имен - область в программе, в которой имя должно иметь единственное описание. Таким образом, в одном пространстве имен не может быть описано двух одинаковых имен (исключение составляют перегруженные имена подпрограмм). Кроме того, в сборках .NET имеются явные определения пространств имен. Область действия идентификатора (т.е. место, где он может быть использован) простирается от момента описания до конца блока, в котором он описан. Область действия глобального идентификатора, описанного в модуле, простирается на весь модуль, а также на основную программу, к которой данный модуль подключен в разделе uses. Кроме этого, имеются переменные, определенные в блоке и связанные с некоторыми конструкциями (for, foreach). В этом случае действие переменной i простирается до конца соответствующей конструкции. Так, следующий код корректен: vara: array of integer := (3,5,7); Идентификатор с тем же именем, определенный во вложенном пространстве имен, скрывает идентификатор, определенный во внешнем пространстве имен. Например, в коде vari: integer; procedure p; значение 5 будет присвоено переменной i, описанной в процедуре p; внутри же процедуры p сослаться на глобальную переменную i невозможно. Переменные, описанные внутри блока, не могут иметь те же имена, что и переменные из раздела описаний этого блока. Например, следующая программа ошибочна: var i: integer; В производных классах, напротив, можно определять члены с теми же именами, что и в базовых классах, при этом их имена скрывают соответствующие имена в базовых классах. Для обращения к одноименному члену базового класса из метода производного класса используется ключевое слово inherited:
|
||
|
Последнее изменение этой страницы: 2024-06-27; просмотров: 42; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.007 с.) |