トップ  eラーニング  書籍紹介  用語集

Google

言語

開発環境

Webアプリ/ミドル

データベース

OS/ネットワーク

ITスキル

海外サイト翻訳

書籍検索

用語検索

Javaのis-aまたはhas-a関係(オブジェクト指向的な関係)

要約―Javaのis-aまたはhas-a関係

Javaのis-aまたはhas-a関係は、以下のとおりです。

  1. is-a関係

    継承関係 …サブクラス is a スーパクラス。(継承に関連あり)

  2. has-a関係

    包含関係 …全体クラス has a 部分クラス。(カプセル化に関連あり)

説明―Javaのis-aまたはhas-a関係

このページでは、Javaのis-aまたはhas-a関係(オブジェクト指向的な関係)について説明しています。 以下では、is-aは継承にhas-aはカプセル化に関連しているというところまで、イメージを用いりながら説明しています。

Javaのオブジェクト指向的な関係

1つのアプリケーションを構成するクラス間にはis-ahas-aの2種類の関係が存在します。

1つはAクラスからBクラスを派生というクラス間の関係(is-a:継承関係)で、 もう1つは、CクラスでのDクラスの参照というクラス間の関係(has-a:包含関係)です。

これらの関係を理解する上で重要なことは、 is-a関係に関連しているのは継承で、has-a関係に関連しているのはカプセル化であるということです。

is-a関係

is-a関係とは継承に起因して発生するものです。 たとえば、AクラスからBクラスを派生というクラス間の関係(継承関係)で、以下のようなイメージになります。


class A
{
  :
}
class B extends A
{
  :
}

has-a関係

has-a関係とは、クラスという1つの構造体の中に複数のデータやメソッドをまとめて格納する、 カプセル化というオブジェクト指向に特徴的な機能に対応するものです。 たとえば、CクラスでのDクラスの参照というクラス間の関係(包含関係)で、以下のようなイメージになります。


class C
{
  :
  private D d;  //クラスC has a クラスD
  :
  public void setD(D obj){
    d = obj;
  }
  :
  public D getD(){
    return d;
  }
  :
}
class D
{
  :
}

戻る

Loarding…

グループサイト  zealseeds  zealseedsラーニング  zealseedsブックス  名か字  名科辞典  幸福の木の育て方

Copyright (C) 2007-2011 zealseeds. All Rights Reserved.お問合せ