Объектно-ориентированное программирование и язык Java
Цели и задачи дисциплины
В результате изучения дисциплины слушатели должны познакомиться с основами объектно-оринтированного программирования и языка Java.
В результате изучения дисциплины слушатели должны знать
- основные понятия объектно-ориентированного программирования,
- их реализацию в языке Java,
- синтаксис языка Java (JDK 1.4),
- писать программы на языке Java,
- работать с утилитами командной строки JDK 1.4.
Содержание разделов дисциплины
- Введение. Первоначальное назначение Java («апплеты»), современное использование. Особенности программирования на Java. Виртуальная машина, байт-код. Простота компиляции. Простота отладки. Кроссплатформенность. Сборка мусора. Язык + библиотека. JRE, JDK. Разные версии Java. Java для разных устройств. «Почти Jav'ы».
- Введение в объектно-ориентированное программирование. Развитие языков программирования. Объектно-ориентированное программирование как следующий (за процедурным программированием) шаг в структурировании программ. Классы. «Hello, World!» на java. Соответствие между именами классов и файлов. Компиляция и запуск программы.
- Синтаксис «внутри метода
main». Oбъявление локальных переменных. Константы. Стандартные типы. Присваивание, арифметические действия. Полный список операторов. Массивы.new[].if,switch, циклы. Строки, оператор сложения. - Объекты. Классы и объекты. new. Указатели в Java. Еще один «Hello, World!» — с созданием объекта. Синтаксис вызова метода. Идея объектно-ориентированного программирования: объект в программе = объект в предметной области. Методы и данные в классе. Соглашения о стиле кода.
- Подробности. Сборка мусора. Конструкторы. Метод
finalize(). Перегрузка (overloading). Права доступа.publicиprivate. Статические члены класса. «Свойства не объекта, а типа объектов.» Статические (и нестатические) инициализаторы.this.null. - Наследование. Наследование классов.
protected. Иерархия классов. object. Массив как объект. Примитивные типы. - Полиморфизм. Виртуальные методы. Таблица виртуальных функций.
final. - String. Класс
String. МетодtoString(). - Нарушение парадигмы объектно-ориентированного программирования. Явное приведение типов. instanceof. Нетипизированные коллекции. Обертки для примитивных типов.
- Опять наследование. Абстрактные методы. Абстрактные классы. Интерфейсы.
- Обработка исключений. Мотивировка. Класс
RuntimeException.throw.Stacktrace. Примеры:NullPointerException,ArithmeticException,ClassCastException.try/catch.finally. Разделение на checked и unchecked.throws. - Подробнее о структуре класса. Вложенные классы. Анонимные классы.
- Packages.
package.import. права доступа package local. - Инструменты для работы с Java-программами.
jar,zip.CLASSPATH.javap.
Рекомендуемая литература
- Основная литература
- Д. Флэнаган. Java. Справочник. Символ-Плюс, 2004
- Дополнительная литература
