Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на ЯП.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
662 Кб
Скачать
☆

Контроль типов

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

Контроль типов данных может осуществляться в период выполнения программы (динамический контроль типов) или в период компиляции(статистический контроль типов).

Статистический контроль типов

•Исходные данные:

  1. Для каждой операций определены кол-во и типы данных для операций и результата.

  2. Тип каждого объекта данных (переменной или экземпляра типа) известен и не меняется в ходе выполнения программы.

  3. Типы всех констант тоже понятны.

Алгоритм статистического контроля типов

  1. Компилятор собирает информацию при анализе текста программы и заносит в таблицу символов, которая накапливает все сведения о типах их операндов.

  2. После завершения сбора компилятор проверяет все операции программы на предмет правильности типов их операндов.

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

•Статистический контроль типов данных охватывает все операции программы проверке подвергаются все варианты вычислений и отпадает необходимость в дальнейшем контроле.

Динамический контроль типов

•Осуществляется непосредственно перед выполнением.

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

+ Гибкость программы.

+ Можно создавать настраиваемые программы, способные работать с данными любого типа.

- Понижение надежность вычисления.

- Снижение скорости вычислений.

- Возрастание накладных затрат памяти.

Параллелизм

• Параллелизм – свойство, отличающее активные объекты от пассивных.

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

Оценка качества декомпозиции предметной области

• Для оценки качества классов и объектов существуют 5 критериев:

1. Зацепление – степень глубины связи между отдельными модулями. (чем меньше связность тем лучше)

2. Связность – степень взаимодействия между элементами отдельного модуля. (чем крепче связь тем лучше)

3. Достаточность – степень необходимого для реализации логичного и эффективного поведения в классе. (не наполнять лишним функционалом)

4. Полнота – в интерфейсной части класса должны быть учтены все характеристики абстракции. (Не исключать главное)

5. Примитивность - ….. (операции внутренние не обращаются к другим классам, дополнение связности)

Полиморфизм

• Полиморфные объекты – объекты, принимающие разные формы.

• Полиморфизм – возможность использовать один объект языка (идентификатор или операцию) для выполнения различных действий.

• Полиморфные функции – это те функции, которые имеют полиморфные аргументы.