1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wizardforcel-thinking-in-java-zh

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
1.4 方案的重复使用.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 11.03.2025 09:15 d56454c

1.4 Повторное использование схемы

После создания и тестирования класса он, в идеале, должен представлять собой полезную единицу кода. Однако повторное использование этого класса не так просто, как это может показаться многим; это требует большого опыта и понимания, чтобы спроектировать схему, которая действительно может быть переиспользована.

Многие считают, что повторное использование кода или шаблонов дизайна является одним из самых мощных преимуществ объектно-ориентированного программирования.

Для повторного использования класса самым простым способом является прямое использование его экземпляров. Вместе с тем можно поместить экземпляр одного класса внутрь нового класса. Это называется "созданием членного объекта". Новый класс может состоять из любого количества других объектов различных типов. Главное, чтобы новый класс удовлетворял своим требованиям проектирования. Этот подход называют "компоновкой" — создание нового класса путём компоновки существующих классов. Иногда мы также называем этот процесс отношением "включения", например, "машина включает коробку передач".Компоновка объектов предоставляет огромную гибкость. Членные объекты нового класса обычно объявляются как "частные" (private), поэтому клиентские программы, использующие этот класс, не могут получить доступ к ним. Таким образом, мы можем легко модифицировать эти членные объекты без изменения клиентского кода. Также возможно изменение этих членных объектов во время выполнения программы, что еще больше увеличивает гибкость. В отличие от этого, наследование не предоставляет такой же степени гибкости, поскольку компилятор должен ограничить возможности классов, созданных через наследование.Из-за важности наследования, оно часто акцентируется в объектно-ориентированном программировании. Для новичков в этой области может сложиться мнение, что "наследование должно присутствовать повсюду". Такой подход к проектированию приведёт к очень запутанной системе и повысит сложность программы. Наоборот, при создании нового класса следует сначала рассмотреть возможность композиции объектов; таким образом, дизайн будет более простым и гибким. Используя композицию объектов, наш дизайн остаётся чистым. Когда требуется использовать наследование, это становится очевидным.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wizardforcel-thinking-in-java-zh.git
git@api.gitlife.ru:oschina-mirror/wizardforcel-thinking-in-java-zh.git
oschina-mirror
wizardforcel-thinking-in-java-zh
wizardforcel-thinking-in-java-zh
master