Введение
В приложении на 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;
}
}
|
|