Понятие ООП. Понятие класса и объекта. Поля, методы, свойства класса. Инкапсуляция, наследование, полиморфизм.
Иерархия классов в Delphi. Структура класса, области видимости класса.
Методы класса. Статические и полиморфные методы, таблицы VMT и DMT. Конструкторы и деструкторы. Класс-методы.
Свойства класса. Определение и использование свойств класса. Свойства - обработчики событий.
Свойства-массивы. Определение и использование свойств-массивов.
Приведение типов для объектов. Классическое приведение типов. Операции AS и IS. Метаклассы.
Исключительные ситуации. Возникновение исключительных ситуаций. Реакция программы на исключительные ситуации. Обработка исключительных ситуаций с помощью конструкций try..except, try..finally. Конструкция on..do. Оператор raise.
Иерархия классов исключительных ситуаций. Разработка собственного класса исключительной ситуации.
Потоковый ввод-вывод в ObjectPascal. Класс Tstream.
Базовые классы потоков. Классы TFileStream, TmemoryStream.
Разработка собственного класса потока.
Унификация манипуляций с потоками, классы TReader и TWriter.
Поддержка списков. Классы Tlist, TobjectList, Tstrings.
Разработка компонентов. Этапы разработки компонентов. Базовые классы компонентов.
Создание модуля компонентов. Создание свойств и методов компонентов. Регистрация компонентов.
Разработка собственного компонента TcustomSystemTimer
Особенности разработки конструкторов и деструкторов компонентов. Пиктограммы компонентов. Пакеты компонентов.
Компоненты-обертки. Разработка собственного компонента-обертки.