Введение ........................................................ 7
Глава 1. Основные концепции объектно - ориентированного
программирования ....................................... 9
1.1 Понятие объектно - ориентированного программирования ....... 9
1.2 Определение и синтаксис класса ............................ 11
1.3 Основные концепции объектно-ориентированного
программирования .......................................... 12
1.4 Наследование в C++ и Java ................................. 13
1.5 Абстрактные классы ........................................ 17
1.6 Полиморфизм в C++ и Java .................................. 18
1.6.1 Полиморфизм включения .............................. 18
1.6.2 Операционный полиморфизм в C++ и Java .............. 20
1.6.3 Параметрический полиморфизм в C++ и Java ........... 21
1.7 Правила надлежащего использования класса в C++ ............ 21
1.8 Инкапсуляция .............................................. 22
Глава 2. Основные средства языков C++ и Java ................... 23
2.1 Важнейшие конструкции языка C++ ........................... 23
2.2 Важнейшие конструкции языка Java .......................... 24
2.3 Типы в Java ............................................... 25
2.3.1 Примитивные типы ................................... 26
2.3.2 Типы классов (class types) или типы ссылок
(reference types) .................................. 29
2.4 Основные пакеты языка Java ................................ 31
2.5 Апплет HelloWorld2. Импортирование ........................ 32
2.6 Методы (methods) .......................................... 34
2.7 Интерфейсы (interfaces) ................................... 35
2.8 Апплет HelloWorld3. Кнопка Button ......................... 37
2.9 Оператор new .............................................. 40
2.10 Конструктор (Constructor) ................................. 40
2.11 Компоненты (Components) ................................... 41
2.12 Контейнеры (Containers) ................................... 42
2.13 События (Events) .......................................... 42
2.14 Массивы (Arrays) .......................................... 44
2.15 Методы, связанные с цветом ................................ 45
2.16 Апплет HelloWorld4: мерцающий апплет ...................... 46
2.17 Потоки (Threads) .......................................... 49
2.18 Класс Поток (The Thread Class) ............................ 50
2.19 Интерфейс Runnable ........................................ 53
2.20 Исключения (Exceptions) ................................... 54
2.21 Синхронизация (Synchronization) ........................... 56
2.22 Указатели (pointers) и ссылки в C++ ....................... 57
Глава 3. Основные понятия объектно—ориентированного
программирования ...................................... 59
3.1 Переменные и операторы присваивания ....................... 59
3.2 Выражения (expressions) и арифметические операторы
(arithmetic operators) .................................... 61
3.2.1 Арифметические операторы (arithmetic operators) .... 61
3.2.2 null в C++ и Java .................................. 64
3.2.3 Доступ к переменным (variable access). Структуры
в C++ .............................................. 64
3.2.4 Вызов метода (method invocation) ................... 66
3.2.5 Создание объектов в Java ........................... 66
3.2.6 Оператор instanceof ................................ 67
3.3 Операторы в Java и C++ .................................... 67
3.4 Исключения (Exceptions) в Java и C++ ...................... 71
3.5 Исключения и классы ошибок (Exceptions and Error
classes) .................................................. 72
3.6 Обработка исключений (Exception Handling) в Java и C++ .... 75
3.7 Конструкция try... throw... catch в языках C++ и Java ..... 78
3.8 finally-блок .............................................. 79
3.9 Массивы (arrays) в C++ и Java ............................. 80
Глава 4. Объекты в C++ и Java .................................. 84
4.1 Классы .................................................... 85
4.2 Доступ к элементам (accessing members) .................... 88
4.3 Статические элементы (static members) ..................... 89
4.4 Методы в Java ............................................. 93
4.5 Функции в C++ ............................................. 94
4.6 Локальные переменные (local variables) .................... 96
4.7 Затенение (shadowing). Ссылка this в Java ................. 97
4.8 Статические методы (static methods) ....................... 98
4.9 Инициализация локальных переменных ........................ 99
4.10 Перегрузка методов (methods overloading) ................. 101
Глава 5. Отношения между классами ............................. 103
5.1 Подклассы и наследственность (subclasses and
inheritance) ............................................. 103
5.2 Затененные переменные .................................... 105
5.3 Переписывание методов (methods overriding) в Java ........ 108
5.4 Правила перегрузки операторов в C++ ...................... 113
5.5 Виртуальные функции в языке C++ .......................... 114
5.6 Выбор методов в Java ..................................... 118
5.7 Исключения и переписываемые методы ....................... 119
5.8 Специальные ссылки this и super .......................... 120
5.9 Форма (casting) .......................................... 121
5.10 Использование конструкторов суперклассов ................. 124
5.11 Абстрактные методы и классы .............................. 125
5.12 Интерфейсы (Interfaces) .................................. 127
5.13 Шаблоны в C++ ............................................ 133
5.13.1 Шаблоны функций .................................. 133
5.13.2 Шаблоны классов .................................. 133
5.14 Пакеты и компиляционные единицы .......................... 136
5.15 Видимость классов (class visibility) ..................... 137
5.16 Видимость переменных и методов ........................... 139
5.17 Подробнее о массивах ..................................... 142
5.18 Внутренние классы (inner classes) ........................ 144
Глава 6. Работа с объектами и классами ........................ 149
6.1 Класс Object ............................................. 149
6.2 Клонирование объектов .................................... 151
6.3 Класс Class .............................................. 154
6.4 Отражение (Reflection) ................................... 157
6.5 Доступ к конструкторам ................................... 164
Глава 7. Потоки (Threads) в Java .............................. 167
7.1 Введение в понятие потоков ............................... 167
7.2 Класс Поток (Thread) и интерфейс Runnable ................ 168
7.3 Потоки в апплетах ........................................ 176
7.4 Синхронизация (Synchronization). Концепция мониторов
(monitors concept) ....................................... 181
7.5 Сериализация доступа к мегодам (Serializing access
to methods) .............................................. 182
7.6 Приоритеты и расписания (scheduling and priorities) ...... 194
7.7 Группы потоков (thread groups) ........................... 199
Глава 8. Основные утилиты языка Java .......................... 202
8.1 Пакеты Java.lang и java.util ............................. 202
8.2 Метод String.valueOf() ................................... 206
8.3 Сравнения ................................................ 207
8.4 Поиск (Searching) ........................................ 210
8.5 Редактирование (Editing) ................................. 210
8.6 Класс java.lang.StringBuffer ............................. 212
8.7 Класс java.util.StringTokenizer .......................... 213
8.8 Утилиты Math ............................................. 214
8.9 Свойства (Properties) .................................... 215
8.10 Свойства системы ......................................... 217
8.11 Обозреватели и обозреваемые (Observers and observable) ... 218
8.12 Менеджер безопасности (security manager) ................. 220
8.13 Интернационализаиия (Internationalization) ............... 222
Приложение .................................................... 225
Литература .................................................... 233
Предметный указатель .......................................... 234
|