Введение в объектно-ориентированный дизайн с Java. Тимур Машнин

Введение в объектно-ориентированный дизайн с Java - Тимур Машнин


Скачать книгу
эквивалентные методам Java, состоят из имени операции, списка параметров и типа возвращаемого значения.

      Теперь, если мы сравним карточку CRC с нашей диаграммой классов, вы можете заметить, как некоторые из обязанностей карточки превратились в свойства в диаграмме классов.

      Некоторые из них стали операцией.

      Конечно, вы можете использовать CRC-карточки для абстрагирования объекта, но тут возникают двусмысленности, которые препятствуют программисту перевести CRC-карточку в код.

      Одна из двусмысленностей заключается в том, что CRC-карточка не показывает разделения между свойствами и операциями.

      Все они перечислены вместе.

      Теперь, когда у нас есть представление диаграммы классов, давайте реализуем его в код Java.

      Диаграммы классов очень близки к реализации, что делает перевод на Java очень простым.

      Имя класса в диаграмме превращается в класс в Java.

      Свойства в диаграмме классов превращаются в переменные-члены.

      И, наконец, операции превращаются в методы.

      Преобразование кода в диаграмму классов также является простым.

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

      А тот факт, что они далеки от кода, заставляет вас сосредоточиться на задаче, а не на реализации.

      С другой стороны, диаграммы классов намного ближе к коду, и вы можете четко передать свой технический дизайн разработчикам.

      Но поскольку вам нужно указать специфичные для кода вещи, такие как списки параметров и возвращаемые значения, диаграммы классов слишком детализированы для концептуального дизайна.

      Детали будут отвлекать и отнимать много времени, при создании первоначальных проектов.

      Принцип Инкапсуляции в UML

      Теперь, когда вы понимаете основные принципы объектно-ориентированного программирования, вам нужно научиться их применять.

      Давайте посмотрим, как применить инкапсуляцию.

      Как вы помните, инкапсуляция включает в себя три идеи.

      Во-первых, вы объединяете данные и функции, которые управляют данными, в автономный объект.

      Во-вторых, вы можете предоставить определенные данные и функции этого объекта, чтобы к ним можно получить доступ из других объектов.

      И в-третьих, вы можете ограничить доступ к определенным данным и функциям только внутри этого объекта.

      Итак, как это выглядит в коде?

      И как выглядит в дизайне?

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

      Если вы создаете систему, которая моделирует студента с использованием инкапсуляции, вы должны иметь все соответствующие данные, определенные в атрибутах класса студента.

      Вам также понадобятся публичные методы, которые будут обращаться к атрибутам.

      В


Скачать книгу