- •История языков типа с. Краткая история Java. Характеристика языка.
- •Выполнение Java – программы. Виртуальная машина Java (jvm). Jdk и jre. Этапы разработки программы на Java.
- •Переменные. Имена (идентификаторы). Типы данных.
- •Приведение типов. Автоматическое преобразование типов в выражениях.
- •Массивы. Многомерные массивы.
- •Арифметические операции. Операторы отношения. Булевы логические операторы.
- •Оператор выбора if. Вложенные if. Многозвенный if-else-if.
- •Оператор выбора switch.
- •Оператор цикла while и do while.
- •Оператор цикла for.
- •Операторы перехода break, continue, return.
- •Основные принципы объектно-ориентированного подхода к программированию.
- •Понятие класса. Общая форма класса. Создание объектов. Управление доступом. Инкапсуляция.
- •Методы. Общая форма метода. Возврат значений. Перегрузка методов.
- •Статические члены класса.
- •Наследование. Класс Object. Использование super. Абстрактные классы.
- •Переопределение методов. Динамический вызов методов. Полиморфизм.
- •22 Вложенные классы
- •Интерфейсы. Использование интерфейсов для динамического вызова методов
- •Сортировка выбором
- •Пузырьковая сортировка
- •Последовательный поиск
- •Бинарный поиск
- •Статические и динамические структуры данных. Динамический массив.
- •Реализация стека с использованием связного списка
- •Класс комплексных чисел
- •События, обработка событий. Модель делегации событий.
Реализация стека с использованием связного списка
Во многих приложениях размеры стека могут динамически увеличиваться и уменьшаться. Поскольку для связанных списков выделяется динамическая память, класс стека должен иметь конструктор копирования и деструктор. Как всегда, программа состоит из заголовочного файла и файла реализации. Обратите внимание, что пред и постусловия функций-членов класса полностью совпадают с их аналогами при реализации стека в виде массива, поэтому они не указываются.
Класс комплексных чисел
Класс комплексных чисел стандартной библиотеки С++ представляет собой хороший пример использования объектной модели. Благодаря перегруженным арифметическим операциям объекты этого класса используются так, как будто они принадлежат одному из встроенных типов данных. Более того, в подобных операциях могут одновременно принимать участие и переменные встроенного арифметического типа, и комплексные числа.
События, обработка событий. Модель делегации событий.
Так уж исторически сложилось, что в языке С++ нет событий. Событием (event) является исходящий вызов (программисты на VB хорошо знакомы с ними) и в С++ их действительно нет. Иногда события путают с сообщениями (message), но это не верно. Сообщение это прямой вызов: например windows вызывает оконную процедуру для передачи сообщения окну. Объект (система) вызывает функцию объекта (окна). Вызов происходит от объекта к объекту. В отличии от сообщения событие имеет другую механику. Объект инициирует событие и вызываются все объекты-обработчики. Т.е. от одного объекта к нескольким. Причем объект инициатор события может ничего не «знать» об его обработчиках, поэтому событие называют исходящим вызовом.
Раз уж в С++ события на уровне языка не поддерживаются, значит стоит организовать их на уровне библиотеки.
Обработка событий
События генерируются оконной системой или Qt в ответ на различные действия. Когда пользователь нажимает или отпускает клавишу или кнопку мышки, гене рируется событие клавиши клавиатуры или кнопки мышки; когда окно впервые вы водится на экран, генерируется событие рисования, указывая появившемуся окну н необходимость его прорисовки.
Модель делегации событий - ХЗ