JavaのAssociationとは何ですか?なぜそれが必要なのですか?



Javaでの関連付けに関するこの記事は、Javaでコーディングするときに、オブジェクトを介して2つのクラス間の接続を確立する方法を理解するのに役立ちます。

あなたが書いているときに2つのクラス間の接続をどのように確立しますか Javaプログラム ?それは簡単です。アソシエーションと呼ばれる概念を利用できます。面白そうですね。この記事では、の協会をチェックしてみましょう 詳細に。

この記事で説明するトピックは次のとおりです。





協会とは何ですか?

Javaでの関連付けは、2つの別々の接続または関係です。 クラス それらを介して設定されます オブジェクト 。アソシエーション関係は、オブジェクトがお互いをどのように認識し、お互いの機能をどのように使用しているかを示します。 1対1、1対多、多対1、多対多の場合があります。

Javaでの関連付け-Edureka



  • 例えば、パスポートは1つしか持てません。あれは ' 1対1 ' 関係。
  • 銀行と従業員の関係について言えば、銀行には多くの従業員がいる可能性があるので、「 1対多 ' 関係。
  • 同様に、すべての都市は正確に1つの州に存在しますが、州には多くの都市が存在する可能性があります。 多対1 ' 関係。
  • 最後に、教師と生徒の関連付けについて説明すると、複数の生徒を1人の教師に関連付けることができ、1人の生徒を複数の教師に関連付けることもできますが、両方を個別に作成または削除できます。これは ' 多対多 ' 関係。

例を挙げて関連付けについて理解しましょう。

Javaでパワーを行う方法
package MyPackage importjava.util。* class CityClass {private String cityName public String getCityName(){return cityName} public void setCityName(String cityName){this.cityName = cityName} @Override public String toString(){return cityName}} class State {private String stateName List citys public String getStateName(){return stateName} public void setStateName(String stateName){this.stateName = stateName} public List getCities(){return citys} public void setState(List citys){this.citys =都市}} public class AssociationExample {public static void main(String [] args){State state = new State()state.setStateName( 'California')CityClass city = new CityClass()city.setCityName( 'Los Angeles') CityClass city2 = new CityClass()city2.setCityName( 'San Diago')List empList = new ArrayList()empList.add(city)empList.add(city2)state.setState(empList)System.out.println(state.getCities ()+ 'は状態' + state.getStateName())}}の都市です。

出力:

[ロサンゼルス、サンディエゴ]はカリフォルニア州の都市です



ご覧のとおり、このサンプルプログラムには、次の2つのクラスがあります。 そして 都市。 これらの2つの別々のクラスは、 オブジェクト 。さらに、すべての都市は正確に1つの州に存在しますが、州には多くの都市が存在する可能性があるため、「多対1」の関係という用語が使用されます。重要なことに、Javaでの関連付けには2つの特別な形式があります。それらをチェックしてみましょう。

2つの形態の関連

組成 そして 集約 関連付けの2つの特別な形式です。例を使ってそれらをチェックしてみましょう。

配列javascriptのサイズを取得します

組成

それは「所属」タイプの協会。これは単に、オブジェクトの1つが論理的に大きな構造であり、他のオブジェクトが含まれていることを意味します。言い換えれば、それはより大きなオブジェクトの一部またはメンバーです。あるいは、それはしばしば呼ばれます 「has-a」関係 (「is-a」関係とは対照的に、 )。

ためにたとえば、建物に部屋がある、つまり部屋が建物に属しているとします。 組成 オブジェクトのライフサイクルが結びついているため、は強い種類の「has-a」関係です。これは、所有者オブジェクトを破棄すると、そのメンバーも一緒に破棄されることを意味します。たとえば、前の例では、建物が破壊されると部屋も破壊されます。ただし、それは、含まれているオブジェクトがそのパーツなしでは存在できないという意味ではないことに注意してください。たとえば、建物内のすべての部屋を解体しても、建物は引き続き存在します。

集約

集約も「has-a」関係ですが、それを構成と区別するのは、オブジェクトのライフサイクルが結び付けられていないことです。 B 他のエントリは個別に存続できます つまり、一方のエンティティを終了しても、もう一方のエンティティには影響しません。それらの両方は、互いに独立して存在することができます。したがって、それはしばしば週の関連付けと呼ばれます。

プレーヤーとチームの例を見てみましょう。チームの一員であるプレーヤーは、チームが存在しなくなった場合でも存在することができます。集約が必要な主な理由は コードの再利用性を維持します。

これで、この記事の最後で、Associationについて学びました。

「Javaでの関連付け」に関するこの記事が関連していると思われる場合は、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社が世界中に広がっています。 ご不明な点がございましたら、「AssociationinJava」のコメント欄にご質問ください。喜んでお答えいたします。