ガイドライン Java クラスの識別
トピック
概論
Java アプリケーションでは、Java クラスは、JavaBeans、EJB、サーブレット、アプレットなどのすべての実装構成要素の基本的な構築単位です。
すべての実装論理は、Java クラスで提供されます。
クラスとは、オブジェクトを作成するためのテンプレートです。クラスは、データ操作のアルゴリズムで、データ構造をカプセル化します。クラスは、通常、そのクラスが定義するオブジェクトのファクトリーです。
このガイドラインでは、クラスやオブジェクト指向設計の概念は詳細に説明しません。以下の説明では、オブジェクト指向設計に関する前提知識が必要です。オブジェクト指向設計については、参照セクションを参照してください。
Java クラスの機能
Java クラスには次のものがあります。
- メンバー関数
- メンバー・データ
- 静的関数
- 静的データ
- 継承
- インターフェースの実装
メンバー関数は、個々のオブジェクトに関連する振る舞いを実装します。メンバー関数は、個々のオブジェクトのコンテキストで実行されます。
メンバー・データは、変数宣言のセットの形式でオブジェクトのデータ構造を定義します。
メンバー・データには、メンバー関数を介してのみアクセスするのが理想的です。
静的関数は、定義した個々のオブジェクトのコンテキスト外で実行されるメソッドです。
静的データは、定義する個々のオブジェクトではなく、定義するクラスに属します。実行中のアプリケーション内に存在する静的データのインスタンスは厳密に 1 つです。通常、静的データは静的関数を介してのみアクセスされます。ただし、設計によっては、静的データに直接アクセスするインスタンスを呼び出すこともあります。
Java クラスは、継承によって関連付けすることができ、Java キーワード「extends」を使用して表されます。継承とは、コードの再利用の高度なテクニックで、これにより設計者は、共通するデータ構造と振る舞いはスーパークラスに抽出し、固有の振る舞いはサブクラスに残すことができます。
インターフェースは、実装がクラスで提供されるメソッドのセットを宣言します。クラスは複数のインターフェースを実装でき、インターフェースは複数のクラスによって実装できます。インターフェースを実装から分離すると、クラスの分離が増加します。インターフェースを介したオブジェクトへのアクセスは、多態性を使用する上で問題の少ない方法です。
Java クラスの識別
J2EE アプリケーションでは、J2EE 要素の設計をサポートするために Java クラスを識別できます。これらの要素の識別については、次のガイドラインを参照してください。
これ以外の Java クラスの識別に関するガイドラインの内容は、任意のほかの種類のクラスの識別に関するガイドラインの内容と同じです。詳しくは、『作業: 設計要素の識別』を参照してください。
Java クラスのモデリング
Java クラスは、UML クラスとしてモデリングされます。
次のダイアグラムに、Java クラスの UML 表現と、対応する 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;
}
}
|
|