Объектно ориентированное программирование в Java, Гуськова О.И., 2024.
Учебное пособие посвящено объектно ориентированному программированию на языке Java. Рассматриваются основные принципы объектно ориентированного программирования, средства работы со структурами данных – коллекции и дженерики, принципы объектно ориентированного дизайна.

Сокрытие информации и инкапсуляция.
Класс инкапсулирует имя, статические атрибуты и динамическое поведение как бы в «ящике». После того как класс определен, можно запечатать «ящик» и поставить его на «полку» для других пользователей или повторного использования. Любой пользователь может распечатать «ящик» и использовать его в своих приложениях. Это невозможно в процедурно ориентированных языках программирования.
Инкапсуляция - это один из основных принципов объектно ориентированного программирования. Это принцип, который требует сокрытия деталей реализации используемого программного компонента при возможности взаимодействовать с ним посредством предоставляемого интерфейса, а также объединение и защита жизненно важных для компонента данных. При этом пользователю предоставляется только спецификация (интерфейс) объекта. Пользователь может взаимодействовать с объектом только через этот интерфейс.
ОГЛАВЛЕНИЕ.
ВВЕДЕНИЕ.
1. ОСНОВЫ ОБЪЕКТНО ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ.
1.1. Введение в объектно ориентированное программирование.
1.2. Краткая история развития объектно ориентированного программирования.
1.3. Основные принципы объектно ориентированного программирования.
1.4. Класс и объект.
1.5. Определение класса в Java.
1.6. Создание экземпляров класса.
1.7. Оператор «Точка».
1.8. Переменные-члены и методы-члены класса.
1.9. Пример объектно ориентированного программирования.
1.10. Конструкторы.
1.11. Модификаторы управления доступом и области видимости.
1.12. Сокрытие информации и инкапсуляция.
1.13. Геттеры и сеттеры.
1.14. Ключевое слово “this”.
1.15. Метод toString().
1.16. Константы (fi nal).
1.17. Резюме по изменению класса Circle.
1.18. Примеры классов.
2. КОМПОЗИЦИЯ.
2.1. Пример классов «Автор» и «Книга».
2.2. Пример классов «Точка» и «Отрезок».
2.3. Пример классов «Точка» и «Круг».
3. НАСЛЕДОВАНИЕ.
3.1. Области видимости.
3.2. Переопределение методов и сокрытие полей.
3.3. Аннотация @Override.
3.4. Ключевое слово “super”.
3.5. Дополнение о конструкторах.
3.6. Конструктор без параметров по умолчанию.
3.7. Одиночное наследование.
3.8. Общий корневой класс java.lang.Object.
4. ПОЛИМОРФИЗМ, АБСТРАКТНЫЕ КЛАССЫ И ИНТЕРФЕЙСЫ.
4.1. Подстановка.
4.2. Апкастинг и даункастинг.
4.3. Оператор “instanceof”.
4.4. Резюме по полиморфизму.
4.5. Пример полиморфизма.
5. АБСТРАКТНЫЕ КЛАССЫ И ИНТЕРФЕЙСЫ.
5.1. Абстрактный метод.
5.2. Абстрактный класс.
5.3. Интерфейс.
5.4. Реализация множественных интерфейсов.
5.5. Интерфейс и абстрактный суперкласс.
5.6. Динамическое (позднее) связывание.
5.7. Инкапсуляция, связывание и связность.
6. ДЖЕНЕРИКИ И ВВЕДЕНИЕ ВО ФРЕЙМВОРК «КОЛЛЕКЦИИ».
6.1. Введение во фреймворк «Коллекции».
6.2. Коллекции и небезопасность типов.
6.3. Введение в дженерики.
6.4. Дженерик-классы.
6.5. Дженерик-методы.
6.6. Wildcards – подстановочные символы.
6.7. Дженерики, ограничивающие тип.
7. КОЛЛЕКЦИИ.
7.1. ArrayList с дженериками.
7.2. Обратная совместимость.
7.3. Автобоксинг и автоанбоксинг – автоупаковка и автораспаковка.
7.4. Иерархия интерфейсов во фреймворке «Коллекции».
7.5. Интерфейсы Iterable<E>, Iterator<E> и усовершенствованный цикл for.
7.6. Интерфейс Collection<E> и его подинтерфейсы List<E>, Set<E>, Queue<E>.
7.7. Интерфейс Map<K,V>.
7.8. Интерфейс List<E> и его реализации.
7.9. Упорядочение, сортировка и поиск.
7.10. Set<E> – интерфейсы и реализации.
7.11. Queue<E> – интерфейсы и реализации.
7.12. Интерфейсы и реализации Map<K,V>.
7.13. Алгоритмы фреймворка «Коллекции».
8. ПРИНЦИПЫ ОБЪЕКТНО ОРИЕНТИРОВАННОГО ДИЗАЙНА (ООД) КЛАССОВ.
8.1. SRP – Single responsibility Principle – принцип единственной ответственности.
8.2. OCP – Open Close Principle – принцип открытости/закрытости.
8.3. LSP – Liskov’s Substitution Principle – принцип замещения Барбары Лисков.
8.4. ISP – Interface Segregation principle – принцип разделения интерфейса.
8.5. DIP – Dependency Inversion principle – принцип инверсии зависимостей.
8.6. Другие принципы ООП и ООД.
ЗАКЛЮЧЕНИЕ.
БИБЛИОГРАФИЯ.
Купить .
Теги: учебник по программированию :: программирование :: Гуськова :: инкапсуляция :: автораспаковка












