Экзаменационные вопросы по
ООП
для 388, 389гр
Язык Object Pascal: новые типы данных, изменения в процедурах и функциях, модулях.
Понятие ООП. Понятие класса и объекта. Понятие поля, методы, свойства, обработчиков событий класса. Основные принципы ООП: инкапсуляция, наследование, полиморфизм. Иерархия классов в Object Pascal.
Структура класса, области видимости класса. Доступ к атрибутам класса. Определение полей класса. Виды методов класса. Таблицы VMT и DMT.
Конструкторы и деструкторы классов. Класс-методы.
Свойства класса. Определение и использование свойств класса. Разработка класса TLength.
Свойства-массивы. Определение и использование свойств-массивов. Свойства-массивы в библиотеке VCL (components, controls). Разработка класса TFRW.
Приведение типов для классов и объектов (операции as, is). Тип ссылки на класс. Механизм обработки событий в библиотеке VCL.
Исключительные ситуации. Возникновение исключительных ситуаций. Реакция программы на исключительные ситуации. Обработка исключительных ситуаций с помощью конструкций try..except, try..finally. Конструкция on..do.
Иерархия классов исключительных ситуаций. Порождение исключительных ситуаций с помощью оператора raise. Разработка собственного класса исключительной ситуации.
Потоковый ввод-вывод в ObjectPascal. Класс Tstream.
Базовые классы потоков. Классы TFileStream, TmemoryStream.
Хранение в потоках наборов данных произвольной длины.
Унификация манипуляций с потоками, классы TReader и Twriter.
Поддержка списков. Классы Tlist, TobjectList, Tstrings.
Поддержка объектно-ориентированной графики в Object Pascal: класс TСanvas, его свойства и методы.
Холст визуальных компонентов. Устойчивые изображения. Визуальные графические компоненты.
Разработка компонентов. Этапы разработки компонентов. Базовые классы компонентов. Создание модуля компонентов.
Создание свойств и методов компонентов. Регистрация компонентов. Тестирование и установка компонентов. Особенности разработки конструкторов и деструкторов компонентов. Пиктограммы компонентов. Хранение разработанных компонентов.