Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Объектно-ориентированное программирование.docx
Скачиваний:
20
Добавлен:
31.08.2019
Размер:
112.85 Кб
Скачать
  1. События. Переменные и их типы.

Переменные всегда будут содержать только значения, указанного типа. Если вводить значение, другого типа, которое можно изменить так, чтобы оно соответствовало указанному типу переменной, программа выполнит такое превращение - это называется приведением типов. Например, если в переменную, объявленную как Integer записать значение 4,8 то это значение округляется до ближайшего целого числа и храниться в переменной будут значение 5. Если это невозможно - будет выведено сообщение об ошибке.

Наиболее часто используемые типы переменных: Integer –2147483648..2147483647 Int64 –2^63..2^63–1 Byte 0..255 Real 5.0 x 10^-324 .. 1.7 x 10^308 15-16 Максимальное число в цифре. Boolean содержит 2 байта – это логическое значение True (правда)/False (ложь). Date содержит 8 байтов – это дата. String – переменная строка. Длину можно указать: Dim str As String*50 (строка размером в 50 символов). Variant – содержит 16 байт и любые характеристики, если неизвестен тип переменной. Type – пользовательский тип.

  1. Константы, выражения и функции. Перегрузка функций.

Константа – величина, не изменяющая своего числового или символьного значения в течение всей программы. Блок описания Const может располагаться в любом месте программы, таких блоков может быть несколько или не быть вообще.Константы вводятся для удобства программиста. Компилятор запоминает значения всех простых констант и при трансляции программы заменяет все имена констант их значениями. Именно поэтому константы не могут стоять слева в операторах присваивания, так как не могут изменять значения в ходе выполнения программы.

Выражения представляют собой операнды, которые объединены посредством арифметических и логических операций, а также операций отношения (сравнения). Большинство операций является бинарными, т.е. содержат два операнда.

Порядок вычисления выражений следующий:

- Вычисляются значения операндов

- Выполняются операции арифметические, сравнения, логические.

Цель перегрузки функций состоит в том, чтобы функция с одним именем по-разному выполнялась и возвращала разные значения при обращении к ней с разными по типам и количеству фактическими параметрами.

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

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

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

Перегруженная операция может быть определена как компонент класса; в этом случае она имеет один параметр или вообще не имеет параметров. У дружественной перегруженной операции может быть один или два параметра. Поэтому бинарные операции следует перегружать как дружественные.

  1. Динамические данные. Указатели. Ссылочный тип. Динамические массивы.

Средства создания динамических структур данных, которые позволяют во время выполнения программы:

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

Динамические структуры – это данные , размер которых может меняться во время работы программы. В Delphi есть массивы, которые так и называются динамическими. Динамический массив есть контейнер, содержащий определенное число данных, которые могут быть записаны либо извлечены для каких-нибудь с ними действий. Проще говоря, это лимитированный список различных значений одной переменной (Integer, String и т.д.), каждый из которых можно затребовать простым указанием порядкового номера. Указатель представляет из себя переменную, содержащую адрес другой переменной. Точнее говоря, указатель содержит адрес начала другой переменной (которая, в принципе, может занимать достаточно большой объем памяти).Указатели бывают типизированные и нетипизированные. Типизированный указатель — это указатель на переменную определенного типа, например, целого, строкового или типа массива Нетипизарованный указатель — это адрес первого байта области памяти, в которой может размещаться любая информация вне зависимости от ее типа.

CTS CLR – это сокращение от Common Type System. CTS включает предопределенные, базовые .NET типы, которые доступны в любом .NET языке. Это означает, что integer больше не определяется каждым компилятором, а встроен в CTS и поэтому integer полностью одинаков во всех .NET языках.

CTS не ограничен только integer, а включает много других типов. CTS разделяет типы на две базовые категории: значения и ссылочные типы.

Типы значений - это типы, которые записываются в стеке. Вы должны быть знакомы с термином – простой или порядковый типы. Типы значений включают integers, bytes и другие примитивы, структуры и перечисления.

Ссылочные типы – это типы, значения которых сохраняются в куче, и ссылки используются для доступа к ним. Ссылочные типы включают objects, interfaces и pointers.