- •Преимущества
- •Связь: ooa→oop→ood
- •Механизм работы virtual
- •Абстрактный класс
- •Виртуальный деструктор
- •{Основные элементы языка программирования}
- •Основные подходы к семантике:
- •Формальное описание семантики:
- •Среда программирования
- •Объекты данных
- •Атрибуты объекта данных
- •Система типизации данных
- •Реализация типов данных
- •Типизация
- •Система типизации данных
- •Реализация типов данных
- •Связывание переменных
- •Контроль типов
- •Статистический контроль типов
- •Алгоритм статистического контроля типов
- •Динамический контроль типов
- •Параллелизм
- •Полиморфизм
- •Статический полиморфизм
- •Динамический полиморфизм
- •Преобразование типов
- •Связь: ooa→oop→ood
- •Среда программирования
- •Цель технологий параллелизма
- •Схемы параллелизма
- •Проблемы параллельного программирования
- •Показатели эффективности параллельного алгоритма Ускорение
- •Закон Густавсона-Барсиса
- •Масштабируемый алгоритм
- •Схемы параллелизма
- •Подтипы данных
- •Разновидности массивов. Статические
- •Кортежи
- •Разновидности массивов. Статические
- •Динамические
- •Атрибуты объекта данных
- •Операции над целыми числами
- •Вещественные числа
- •Числа с фиксированной точкой
- •Числа с плавающей точкой(float)
- •Ошибки вычислений с вещественными числами
- •Утечки памяти и повисшие указатели
- •Указатели на указатели
- •Типизированные указатели
- •Указатели на функции
- •[Отличия указателей и ссылок]
- •Параметры подпрограмм
- •Преимущества подпрограмм
- •Позиционное сопоставление
- •Сопоставление по имени
- •Методы передачи параметров:
- •Передача параметров по значению
- •Передача параметров по ссылке
- •Передача параметров по значению-результату
- •Параметр по результату
- •Стековые языки
- •Циклы и рекурсия
- •Циклы со счетчиком
- •Операторы циклы без заданного числа повторений (бесконечно)
- •Динамический полиморфизм
- •Родовые (настраиваемые) сегменты и шаблоны
Объекты данных
Каждый ЯП задает три категории характеристик
Допустимые значения данных и способы размещения значений в памяти компьютера.
Допустимые операции (встроенные в язык и рукотворные то есть создаваемые программистом).
Операторы, управляющие последовательностью применения операций к данным.
Элементы данных, рассматриваемые как единое целое в некий момент выполнения программы, называют объектами данных (являются контейнером хранения данных)
Атрибуты объекта данных
Тип - задает возможные значения, применяемые операции и формат хранения данных.
Местоположение - координаты области памяти, отведенной под объекты данных. Назначаются системными программными средствами, управляющими памятью. Программист обычно не имеет доступа к этим средствам.
Значение - текущая величина объекта данных.
Имя - перечень имен, по которым к объекту данных обращаются в процессе вычислений (могут назначается, как в начале так и в конце).
Принадлежность - сведения о принадлежности данного объекта к другим объектам данных (ссылки на эти объекты).
Адрес - указывают ячейку памяти под переменную.
Время жизни - период существования объекта в программе.
Область видимости - сегмент фрагмент программы в пределах которой доступен объект.
Система типизации данных
Сумма правил, связанных с типами данных и их экземплярами.
Определяет полный жизненный цикл объектов данных в программных вычислений и включает в себя несколько категорий правил:
Определения атрибутов переменных их связывание.
Определения типов данных.
Определения типов выражений.
Правила преобразования и проверки типов данных.
Реализация типов данных
Способ представления объекта данных этого типа в памяти компьютера( в процессе выполнения).
Способ представления операций, определенных для этого типа данных. Задает конкретные алгоритмы и процедуры для обработки выбранной формы размещения объектов данных в памяти.
•Реализация типов данных определяет, каким образом данные виртуальной среды вычислений отображаются на аппаратные и программные средства.
•Синтаксис атрибутов типов данных определяется формой объявления типа принятой в ЯП.
•Значения представляются литералами или именованием const.
Вызов операций задается при помощи специальных символов встроенных процедур или функций.
•При этом компилятор решает две задачи:
1)Максимально эффективно разместить данные в памяти.
2)Проверить соответствие данных указанному типу.
Типизация
• Это способ защититься от использования объектов одного класса вместо другого, или по крайней мере управлять таким использованием.
24. Преобразование типов. Контроль соответствия типов данных.
При перемещении, сравнении или объединении данных одного объекта с данными другого объекта эти данные могут преобразовываться из одного типа в другой.
При передаче в переменную программы данных из результирующего столбца Transact-SQL, кодов возврата или выходных параметров, эти данные должны преобразовываться из системного типа данных SQL Server в тип данных переменной.
При взаимных преобразованиях переменных приложения и столбцов результирующих наборов SQL Server, кодов возврата, параметров и маркеров параметров поддерживаемые преобразования типов данных определяются API базы данных.
