Читать онлайн «Объектно-ориентированное программирование в действии»

Автор Тимоти Бадд

Содержание Введение 1. Объектно-ориентированное мышление 1. Почему ООП так популярно? 2. Язык и мышление Эскимосы и снег • Пример из области программирования • Принцип Чёрча и гипотеза Ворфа 3. Новая парадигма 4. Способ видения мира Агенты, обязанности, сообщения и методы • Обязанности и ответственности • Классы и экземпляры • Иерархии классов и наследование • Связывание и переопределение методов • Краткое изложение принципов 5. Вычисление и моделирование Сила метафор • Как избежать бесконечной регрессии 6. Барьер сложности Нелинейное увеличение сложности • Механизмы абстрагирования 7. Многократно используемое программное обеспечение 8. Резюме Что читать дальше Упражнения 2. Объектно-ориентированное проектирование 1. Ответственность подразумевает невмешательство 2. Программирование «в малом» и «в большом» 3. Почему надо начинать с функционирования? 4. Учебный пример: проектирование на основе обязанностей Интерактивный разумный кухонный помощник • Работа по сценарию • Идентификация компонент 5. CRC-карточка — способ записи обязанностей Дайте компонентам физический образ • Цикл «что/кто» • Документирование 6. Компоненты и поведение Отложенные решения • Готовность к изменениям • Продолжение работы со сценарием • Диаграммы взаимодействия 7.
Компоненты программы Поведение и состояние • Экземпляры и классы • Зацепление и связность • Интерфейс и реализация модуля — принципы Парнаса 8. Формализация интерфейса Выбор имен 9. Выбор представления данных 10. Реализация компонент 11. Интеграция компонент 12. Сопровождение и развитие Упражнения 3. Классы и методы 1. Инкапсуляция 2. Разновидности классов 3. Пример: игра в карты 4. Интерфейс и реализация 5. Классы и методы в ООП Классы и методы в языке Object Pascal • Классы и методы в языке Smalltalk • Классы и методы в языке Objective-C • Классы и методы в языке C++ • Классы и методы в языке Java Упражнения 4. Сообщения, экземпляры и инициализация 1. Синтаксис пересылки сообщений Синтаксис пересылки сообщений в Object Pascal • Синтаксис пересылки сообщений в C++ • Синтаксис пересылки сообщений в Java • Синтаксис пересылки сообщений в Smalltalk • Синтаксис пересылки сообщений в Objective-C 2. Механизмы создания и инициализации Создание и инициализация в C++ • Создание и инициализация в Java • Создание и инициализация в Objective-C • Создание и инициализация в Object Pascal • Создание и инициализация в Smalltalk Упражнения 5.