Главная страница
Навигация по странице:

  • Глава 1.

  • Глава 5.

  • Глава 9.

  • Благодарности .............................................................................. 14

  • Введение ..................................................................................... 16

  • Объектно-ориентированный подход. Объектно_ориентированный_подход. Объектно ориентированный подход Мэтт Вайсфельд 5е международное издание ббк 32. 973. 2018


    Скачать 5.43 Mb.
    НазваниеОбъектно ориентированный подход Мэтт Вайсфельд 5е международное издание ббк 32. 973. 2018
    АнкорОбъектно-ориентированный подход
    Дата31.03.2023
    Размер5.43 Mb.
    Формат файлаpdf
    Имя файлаОбъектно_ориентированный_подход.pdf
    ТипДокументы
    #1028905
    страница1 из 25
      1   2   3   4   5   6   7   8   9   ...   25

    Boston • Columbus • New York • San Francisco • Amsterdam • Cape Town
    Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi
    Mexico City • São Paulo • Sydney • Hong Kong • Seoul • Singapore • Taipei • Tokyo
    The Object-Oriented
    Thought Process
    Fifth Edition
    Matt Weisfeld

    Объектно- ориентированный подход
    Мэтт Вайсфельд
    5-е международное издание

    ББК 32.973.2-018
    УДК 004.42
    В14
    Вайсфельд Мэтт
    В14 Объектно-ориентированный подход. 5-е межд. изд. — СПб.: Питер, 2020. —
    256 с.: ил. — (Серия «Библиотека программиста»).
    ISBN 978-5-4461-1431-3
    Объектно-ориентированное программирование (ООП) лежит в основе языков C++, Java, C#,
    Visual Basic .NET, Ruby, Objective-C и даже Swift. Не могут обойтись без объектов веб-технологии, ведь они используют JavaScript, Python и PHP.
    Именно поэтому Мэтт Вайсфельд советует выработать объектно-ориентированное мышление и только потом приступать к объектно-ориентированной разработке на конкретном языке про- граммирования.
    Эта книга написана разработчиком для разработчиков и позволяет выбрать оптимальные подходы для решения конкретных задач. Вы узнаете, как правильно применять наследование и композицию, поймете разницу между агрегацией и ассоциацией и перестанете путать интер- фейс и реализацию.
    Технологии программирования непрерывно меняются и развиваются, но объектно-ориен- тированные концепции не зависят от платформы и остаются неизменно эффективными. В этом издании основное внимание уделяется фундаментальным основам ООП: паттернам проектиро- вания, зависимостям и принципам SOLID, которые сделают ваш код понятным, гибким и хорошо сопровождаемым.
    16+
    (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)
    ББК 32.973.2-018
    УДК 004.42
    Права на издание получены по соглашению с Pearson Education Inc. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
    Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. Издательство не несет ответственности за доступ- ность материалов, ссылки на которые вы можете найти в этой книге. На момент подготовки книги к изданию все ссылки на интернет-ресурсы были действующими.
    ISBN 978-0135181966 англ.
    © 2019 Pearson Education, Inc.
    ISBN 978-5-4461-1431-3
    © Перевод на русский язык ООО Издательство «Питер», 2020
    © Издание на русском языке, оформление ООО Издательство «Питер»,
    2020
    © Серия «Библиотека программиста», 2020

    СОДЕРЖАНИЕ
    Введение........................................................................................................... 16
    Глава 1. Введение.в.объектно-ориентированные.концепции............................. 21
    Глава 2. Как.мыслить.объектно.......................................................................... 53
    Глава 3. Прочие.объектно-ориентированные.концепции................................... 71
    Глава 4. Анатомия.класса.................................................................................. 94
    Глава 5. Руководство.по.проектированию.классов...........................................106
    Глава 6. Проектирование.с.использованием.объектов.....................................123
    Глава 7. Наследование.и.композиция...............................................................139
    Глава 8. Фреймворки.и.повторное.использование:.проектирование.
    с.применением.интерфейсов.и.абстрактных.классов........................................162
    Глава 9. Создание.объектов.и.объектно-ориентированное.проектирование....189
    Глава 10. Паттерны.проектирования................................................................205
    Глава 11. Избегание.зависимостей.и.тесно.связанных.классов........................222
    Глава 12. Принципы.объектно-ориентированного.проектирования.SOLID........234

    ОГЛАВЛЕНИЕ
    Благодарности .............................................................................. 14
    Об авторе ..................................................................................... 15
    Авторские.права.на.иллюстрации.................................................................. 15
    От.издательства............................................................................................ 15
    Введение ..................................................................................... 16
    Что.нового.в.пятом.издании.......................................................................... 18
    Целевая.аудитория....................................................................................... 19
    Подход,.примененный.в.этой.книге............................................................... 20
    Глава 1. Введение.в.объектно-ориентированные.концепции............................. 21
    Фундаментальные.концепции....................................................................... 22
    Объекты.и.унаследованные.системы............................................................. 23
    Процедурное.программирование.в.сравнении..
    с.объектно-ориентированным....................................................................... 24
    Переход.с.процедурной.разработки.на.объектно-ориентированную............. 29
    Процедурное.программирование............................................................. 29
    Объектно-ориентированное.программирование...................................... 29
    Что.такое.объект?.......................................................................................... 30
    Данные.объектов..................................................................................... 30
    Поведение.объектов................................................................................ 31
    Что.такое.класс?............................................................................................ 35
    Создание.объектов.................................................................................. 35

    7
    .Оглавление
    Атрибуты.................................................................................................. 37
    Методы.................................................................................................... 37
    Сообщения.............................................................................................. 38
    Использование.диаграмм.классов.в.качестве.визуального.средства............. 38
    Инкапсуляция.и.сокрытие.данных................................................................. 39
    Интерфейсы............................................................................................. 39
    Реализации.............................................................................................. 40
    Реальный.пример.парадигмы.«интерфейс/реализация».......................... 41
    Модель.парадигмы.«интерфейс/реализация».......................................... 41
    Наследование............................................................................................... 43
    Суперклассы.и.подклассы........................................................................ 44
    Абстрагирование..................................................................................... 45
    Отношения.«является.экземпляром»........................................................ 46
    Полиморфизм............................................................................................... 47
    Композиция.................................................................................................. 51
    Абстрагирование..................................................................................... 51
    Отношения.«содержит.как.часть»............................................................. 52
    Резюме......................................................................................................... 52
    Глава 2. Как.мыслить.объектно.......................................................................... 53
    Разница.между.интерфейсом.и.реализацией................................................ 54
    Интерфейс............................................................................................... 56
    Реализация.............................................................................................. 57
    Пример.интерфейса/реализации............................................................. 57
    Использование.абстрактного.мышления.при.проектировании..
    классов......................................................................................................... 63
    Обеспечение.минимального.интерфейса.пользователя................................ 65
    Определение.пользователей................................................................... 66
    Поведения.объектов................................................................................ 67
    Ограничения,.налагаемые.средой............................................................ 67
    Определение.открытых.интерфейсов....................................................... 68
    Определение.реализации........................................................................ 69
    Резюме......................................................................................................... 70
    Ссылки.......................................................................................................... 70

    .Оглавление
    8
    Глава 3. Прочие.объектно-ориентированные.концепции................................... 71
    Конструкторы................................................................................................ 71
    Когда.осуществляется.вызов.конструктора?............................................ 72
    Что.находится.внутри.конструктора?........................................................ 72
    Конструктор.по.умолчанию...................................................................... 73
    Использование.множественных.конструкторов........................................ 74
    Перегрузка.методов................................................................................. 75
    Использование.UML.для.моделирования.классов.................................... 76
    Как.сконструирован.суперкласс?............................................................. 78
    Проектирование.конструкторов............................................................... 79
    Обработка.ошибок........................................................................................ 79
    Игнорирование.проблем.......................................................................... 80
    Проверка.на.предмет.проблем.и.прерывание.выполнения.приложения.....80
    Проверка.на.предмет.проблем.и.попытка.устранить.неполадки............... 80
    Выбрасывание.исключений...................................................................... 81
    Важность.области.видимости........................................................................ 84
    Локальные.атрибуты................................................................................ 84
    Атрибуты.объектов................................................................................... 86
    Атрибуты.классов..................................................................................... 88
    Перегрузка.операторов................................................................................. 89
    Множественное.наследование...................................................................... 90
    Операции.с.объектами.................................................................................. 91
    Резюме......................................................................................................... 93
    Ссылки.......................................................................................................... 93
    Глава 4. Анатомия.класса.................................................................................. 94
    Имя.класса.................................................................................................... 94
    Комментарии................................................................................................ 95
    Атрибуты....................................................................................................... 97
    Конструкторы................................................................................................ 98
    Методы.доступа...........................................................................................101
    Методы.открытых.интерфейсов...................................................................103
    Методы.закрытых.реализаций......................................................................104
    Резюме........................................................................................................105
    Ссылки.........................................................................................................105

    9
    Оглавление. .
    Глава 5. Руководство.по.проектированию.классов...........................................106
    Моделирование.реальных.систем................................................................106
    Определение.открытых.интерфейсов...........................................................108
    Минимальный.открытый.интерфейс........................................................108
    Сокрытие.реализации.............................................................................109
    Проектирование.надежных.конструкторов.(и,.возможно,.деструкторов)......110
    Внедрение.обработки.ошибок.в.класс..........................................................111
    Документирование.класса.и.использование.комментариев....................111
    Создание.объектов.с.прицелом.на.взаимодействие................................112
    Проектирование.с.учетом.повторного.использования..................................113
    Проектирование.с.учетом.расширяемости...................................................113
    Делаем.имена.описательными................................................................114
    Абстрагирование.непереносимого.кода..................................................115
    Обеспечение.возможности.осуществлять.копирование..
    и.сравнение............................................................................................116
    Сведение.области.видимости.к.минимуму..............................................116
    Проектирование.с.учетом.сопровождаемости..............................................117
    Использование.итерации.в.процессе.разработки...................................118
    Тестирование.интерфейса......................................................................118
    Использование.постоянства.объектов..........................................................120
    Сериализация.и.маршалинг.объектов.....................................................121
    Резюме........................................................................................................122
    Ссылки.........................................................................................................122
    Глава 6. Проектирование.с.использованием.объектов.....................................123
    Руководство.по.проектированию..................................................................123
    Проведение.соответствующего.анализа.................................................128
    Составление.технического.задания........................................................128
    Сбор.требований....................................................................................129
    Разработка.прототипа.интерфейса.пользователя...................................129
    Определение.классов.............................................................................129
    Определение.ответственности.каждого.класса.......................................130
    Определение.взаимодействия.классов.друг.с.другом.............................130
    Создание.модели.классов.для.описания.системы...................................130
    Прототипирование.интерфейса.пользователя........................................130

    10
    Оглавление
    Объектные.обертки......................................................................................131
    Структурированный.код..........................................................................132
    Обертывание.структурированного.кода..................................................133
    Обертывание.непереносимого.кода........................................................135
    Обертывание.существующих.классов.....................................................136
    Резюме........................................................................................................137
    Ссылки.........................................................................................................138
    Глава 7. Наследование.и.композиция...............................................................139
    Повторное.использование.объектов............................................................139
    Наследование..............................................................................................141
    Обобщение.и.конкретизация...................................................................145
    Проектные.решения................................................................................146
    Композиция.................................................................................................148
    Почему.инкапсуляция.является.фундаментальной..
    объектно-ориентированной.концепцией......................................................151
    Как.наследование.ослабляет.инкапсуляцию............................................151
    Подробный.пример.полиморфизма........................................................154
    Ответственность.объектов......................................................................154
    Абстрактные.классы,.виртуальные.методы.и.протоколы..........................158
    Резюме........................................................................................................160
    Ссылки.........................................................................................................160
      1   2   3   4   5   6   7   8   9   ...   25


    написать администратору сайта