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



Javaでの集約は、HASを表します-一方向の関連付けである関係、または両方のエントリが別々に存続できる一方向の関係

あなたが書いているとき 、参照を使用して1つのクラスを別のクラスにリンクする場合は、JavaのAggregationを利用できます。それでは、アグリゲーションがどのように機能するかを学びましょう

アグリゲーションとは何ですか?

アグリゲーションとは何かを理解する前に、Javaでのアソシエーションについて学びましょう。アソシエーションは、2つの別々のクラス間の関係と呼ばれます。 オブジェクト 。 1対1、1対多、多対1、多対多の場合があります。例を挙げて関連付けについて理解しましょう。





パッケージEdurekaクラスSchool {private static String name //銀行名School(String name){this.name = name} public static String getSchoolName(){return name}} //従業員クラスクラスStudent {private String name //従業員名Student(String name){this.name = name} public String getStudentName(){return this.name}} //メインメソッドの両方の//クラス間の関連付けpublicclass Association {public static void main(String [] args) {School newSchool = new School( 'Java Class')Student stu = new Student( 'Vian')System.out.println(stu.getStudentName()+ 'は' + School.getSchoolName())の学生です}}

出力: VianはJavaクラスの学生です

さて、何であるか見てみましょう Javaでの集約。



SQLクエリのifステートメント

集約は、実際には特別な形式の関連付けです。これは、Associationのような2つのクラス間の関係と呼ばれることを意味します。ただし、これは方向性のある関連付けです。つまり、一方向の関連付けに厳密に従います。これはHAS-A関係を表しています。

これは、アソシエーション関係のより専門的なバージョンと見なされます。 Aggregateクラスには別のクラスへの参照が含まれており、そのクラスの所有権を持っていると言われます。参照される各クラスは、Aggregateクラスの一部と見なされます。

さて、例えば、私はfクラスAにはクラスBへの参照が含まれ、クラスBにはクラスAへの参照が含まれているため、明確な所有権を判別できず、関係は単に関連付けの1つにすぎません。



この例を見てみましょう。

パッケージEdurekaクラスAddress {int streetNum String city String state String country Address(int street、String c、String st、String coun){this.streetNum = street this.city = c this.state = st this.country = coun}} class Employee {int EmployeeID String EmployeeName // HASの作成-アドレスクラスAddressとの関係EmployeeAddrEmployee(int ID、String name、Address addr){this.EmployeeID = ID this.EmployeeName = name this.EmployeeAddr = addr}} public class Aggregation {public static void main(String args []){Address ad = new Address(2、 'Bangalore'、 'Karnataka'、 'India')Employee obj = new Employee(1、 'Suraj'、ad)System.out .println(obj.EmployeeID)System.out.println(obj.EmployeeName)System.out.println(obj.EmployeeAddr.streetNum)System.out.println(obj.EmployeeAddr.city)System.out.println(obj.EmployeeAddr .state)System.out.println(obj.EmployeeAddr.country)}}

出力:

Javaのcharとは何ですか

Java出力での集約-Edureka

今あなたは持っているかもしれません この質問。なぜJavaでこのアグリゲーションを使用する必要があるのですか?

なぜ集約が必要なのですか?

集約が必要な主な理由は コードの再利用性を維持します。 たとえば、上記の例と同じクラスを作成する場合、存在する従業員の詳細を維持する必要があります。また、同じコードを何度も使用する必要はありませんが、代わりに、クラスの参照を使用して定義します。

これで、この記事の最後に、での集約について学習しました。 。このチュートリアルで共有されているすべてのことを明確に理解してください。

Javaサンプルコードのコマンドライン引数

「Javaでの集約」に関するこの記事が関連していると感じた場合は、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社が世界中に広がっています。

私たちはあなたの旅のすべてのステップであなたを助けるためにここにいます。このカリキュラムは、Java開発者になることをいとわない学生や専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。

ご不明な点がございましたら、「Javaでの集約」のコメントセクションでお気軽にご質問ください。喜んでお答えいたします。