Рекомендация: Идентификация классов Java
В этом руководстве обсуждается, как определить и смоделировать классы Java для приложения J2EE.
Взаимосвязи
Связанные элементы
Основное описание

Введение

В приложении на Java классы Java являются основополагающими строительными блоками всех конструкций реализации, таких как объекты JavaBean, объекты EJB, сервлеты и аплеты. Вся логика реализации предоставляется классами Java.

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

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

Возможности класса Java

Классы Java включают в себя:

  • Функции-члены
  • Данные-члены
  • Статические функции
  • Статические данные
  • Наследование
  • Реализацию интерфейсов

Функции-члены реализуют некоторое поведение, связанное с отдельными объектами. Функции-члены выполняются в контексте отдельных объектов.

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

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

Статические данные принадлежат к определяющему их классу, а не к отдельным объектам, которые он определяет. В выполняющемся приложении существует ровно один экземпляр статических данных. Доступ к статическим данным обычно осуществляется только через статические функции, хотя в некоторых проектах экземпляры получают непосредственный доступ к статическим данным.

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

Интерфейс объявляет набор методов, реализация которых предоставлена в классах. В классе может быть реализовано несколько интерфейсов, а интерфейс может быть реализован несколькими классами. Отделение интерфейса от реализации увеличивает разделение классов. Осуществление доступа к объектам через интерфейсы обеспечивает прямой путь к использованию полиморфизма.

Идентификация классов Java

В приложении J2EE могут быть определены классы Java для поддержки проектирования элементов J2EE. Дополнительная информация об идентификации этих элементов приведена в следующих разделах:

Руководство по идентификации дополнительных классов Java не отличается от руководства по идентификации любых других видов классов. Более подробная информация находится в разделе Задача: identify_design_elements_real-time_design.

Моделирование классов Java

Классы Java моделируются как классы UML.

На приведенной ниже диаграмме показано представление UML класса Java и соответствующий исходный код Java.

Диаграмма, описанная в сопроводительном тексте. class MyClass {
private int myMemberData;
private String myOtherMemberData;
private static int myStaticData;
public int getMyMemberData() {
return this.myOtherMemberData;
}
public static int getMyStaticData() {
return MyClass.myStaticData;
}
}