JavaのHas-A-Relationとは何ですか

Javanohas A Relationtoha Hedesuka



HAS-A-リレーション Java の「」は「」に相当します。 協会 」は、作成されたオブジェクトを介した 2 つのクラス間の関係を指します。 「 構成 ' と ' 集計 」の2種類の関連付けです。この特定の関係は、後者のアプローチ、つまり「合成」によって実現されます。この関係は、コードをより頻繁に再利用する必要がある複雑なコードを扱うときに役立ちます。

このブログでは、Java の「HAS-A-Relation」について説明します。







Java における Has-A-Relation とは何ですか?

Java の「Has-A」関係は、あるクラスがそのオブジェクトを介して別のクラスへの参照を持っていることを意味します。たとえば、バイクにはエンジンなどが付いています。この関係には次の特徴が含まれます。



  • これは一方向の関係または一方向の関連付けです。
  • 両方のエントリは集計において独立して実行できます。これは、一方のエンティティを終了しても、もう一方のエンティティに影響を与えないことを意味します。

例: Java での「Has-A-Relation」の適用



この例では、作成されたクラスに「HAS-A-Relation」を適用します。





パブリッククラスには {
プライベートストリングシティ。
プライベート int ID ;
パブリック静的ボイドメイン ( [ 引数 ) {
オブジェクトを持っています = 新しい持っています ( ) ;
object.setCity ( '天使たち' ) ;
object.setId ( 1 ) ;
オブジェクト.ディスプレイ ( ) ;
子オブジェクト 2 = 新しい子 ( ) ;
object2.check ( ) ;
}
public void setId ( 整数 ID ) {
this.id = ID ;
}
public void setCity ( ストリングシティ ) {
this.city = 都市;
}
パブリックボイド表示 ( ) {
System.out.println ( 「都市 -> 」 + 都市 + 「 ID -> 」 + ID ) ;
} }
クラスの子は Has を拡張します {
公開無効チェック ( ) {
適格オブジェクト 3 = 新規適格 ( ) ;
オブジェクト3.はい ( ) ;
オブジェクト3.実行 ( ) ;
} }
クラス 対象となる {
公共の空白 はい ( ) {
System.out.println ( 「都市とIDが対象です!」 ) ;
}
パブリックボイド実行 ( ) {
System.out.println ( '続行!' ) ;
} }

上記のコード行で、以下の手順を実行します。



  • クラスを定義します。 もっている 」は、指定されたメンバー変数で構成されます。
  • の ' 主要 ”を利用してクラスのオブジェクトを作成します。 新しい 「キーワード」と「 もっている() 」コンストラクター。
  • また、指定された引数を渡すことで、コードの後半で定義された関数を呼び出します。
  • ここで、「」のオブジェクトを作成します。 子供 」クラスも同様に「Has」クラスを拡張し、その関数「check()」にアクセスします。
  • 同様に、この特定のクラスで定義されている関数、つまり「check()」にもアクセスします。
  • その後、「setId()」、「setCity()」、「display()」関数を定義し、渡された値を「this」経由で指定した変数にそれぞれ設定し、表示します。
  • 親クラス「Has」を拡張する別のクラス「child」を宣言します。
  • このクラスには、以前にアクセスした関数を定義します。
  • この関数は、別のクラス、つまり「Eligible」のオブジェクトとその特定のクラスの関数を蓄積し、それによって「 があります ' 関係。
  • 最後にクラスを定義します。 対象 これは、「子」クラスがこの特定のクラスと「HAS-A」関係を構築することを意味します。
  • このクラスでも同様に「子」クラスでアクセスする関数を定義します。

出力

この結果から、「HAS-A-Relation」が適切に構築されていることが示唆されます。

結論

Javaでは、「 があります 」関係は、あるクラスが別のクラスに参照を渡すことを示します。たとえば、バイクにはエンジンなどが付いています。この関係は「」の助けを借りて適用されます。 構成 ' アプローチ。この記事では、Java での「HAS-A-Relation」の適用について詳しく説明しました。