あなたが知る必要があるすべてはJavaで関係を持っています



この記事では、Javaでの関係とそのさまざまな用途に関する詳細で包括的な知識を提供します。

に関係がある とIsa Relationshipは、最も紛らわしい用語の2つです。この記事では、次のパラメータに焦点を当てます。

Java分割文字列複数の区切り文字

Javaで関係があるの概要

Javaでの関係は、Compositionとして知られています。コードの再利用に使用されます。基本的に、あるクラスのインスタンスが別のクラスのインスタンスまたは同じクラスの他のインスタンスへの参照を持っていることを意味します。この関係は、コードの重複とバグを最小限に抑えるのに役立ちます。





コンポジションはアソシエーションの一形態です。アソシエーションは、オブジェクトを介して許可される2つの別個のクラス間の関係として知られています。関連付けは次の形式にすることができます。

  1. 1対1



  2. 1対多

  3. 多対1

  4. 多対多



OOP(オブジェクト指向プログラミング)では、オブジェクトは別のオブジェクトと通信して、そのオブジェクトによって提供されるすべてのサービスと機能を使用します。

協会

これは、協会の実装例です。

import java.io. * class Bank {private String name Bank(String name){this.name = name} public String getBankName(){return this.name}} class Employee {private String name Employee(String name){this。 name = name} public String getEmployeeName(){return this.name}} class Association {public static void main(String [] args){Bank b = new Bank( 'Axis')Employee e = new Employee( 'Himanshi') System.out.println(e.getEmployeeName()+ 'は' + b.getBankName())の従業員です}}

出力:

has-a-relationship-in-java

これは、次の場合の特別な形式の関連付けです。

  1. これはHas-a-relationshipを表しています。

  2. これは、一方向の関連付け(一方向の関係)として知られています。たとえば、部門に教師を配置することはできますが、その逆は当てはまらないため、本質的に単方向です。

それでは、作曲について話しましょう

構成は、2つのオブジェクトが互いに大きく依存している制限された形式です。 2つのエンティティの間に構成が存在する場合、構成されたものは別のエンティティなしでは存在できません。

これは、構成の概念を示すためのライブラリの例です。

import java.io. * importjava.util。* class Book {public String title public String author Book(String title、String author){this.title = title this.author = author}} class Library {private final List books Library (本のリスト){this.books = books} public List getTotalBooksInLibrary(){return books}} class edureka {public static void main(String [] args){Book b2 = new Book( 'Thinking Java'、 'Brua E' )Book b3 = new Book( 'Java:Complete Reference'、 'Herb S')List books = new ArrayList()books.add(b2)books.add(b3)Library library = new Library(books)List bks = library .getTotalBooksInLibrary()for(Book bk:bks){System.out.println( 'Title:' + bk.title + 'and' + 'Author:' + bk.author)}}}

出力:

初心者向けのplsqlチュートリアル

OOPSの主な利点の1つは、コードを再利用できることです。コードを再利用する方法は2つあります。継承またはオブジェクトコンポジションによる。

構成と継承の比較:関係

  • 継承よりも構成の方がクラスを変更する方が簡単です。

  • 継承は静的バインディングであり、構成は動的バインディングです。

  • クラス継承はコンパイル時に定義されますが、オブジェクトコンポジションは実行時に定義されます。

  • オブジェクトコンポジションでは、内部の詳細は相互に公開されることは想定されておらず、パブリックインターフェイスによって相互作用しますが、継承では、基本クラスのパブリックメンバーと保護されたメンバーの両方が公開されます。

  • コンポジションでは、アクセスを制限できますが、オブジェクトコンポジションでは、アクセス制御はありません。

  • 継承では、サブクラスをその親の実装の詳細に公開することでカプセル化を解除しますが、オブジェクトコンポジションでは、オブジェクトはインターフェイスを介して完全にアクセスされるため、カプセル化を解除しません。

  • 継承では、コードの再利用性を提供しますが、オブジェクトコンポジションでは、関連付けを表すことができます。

例1:

class Operation {int square(int n){return n * n}} class Circle {Operation op // aggregation double pi = 3.14 double area(int radius){op = new Operation()int rsquare = op.square(radius) //コードの再利用性(つまり、メソッド呼び出しを委任します)。 return pi * rsquare} public static void main(String args []){Circle c = new Circle()double result = c.area(5)System.out.println(result)}}

出力:

Windows10にphp7をインストールする方法

例2:

class House {Kitchen k = new Kitchen()//家のクラスのその他のコード} Class Kitchen {//キッチンクラスのコード}

家が破壊されると、キッチンも破壊されます。これは、2つのエンティティが相互に依存している場合の構成として知られています。参照クラス(Kitchen)は、コンテナークラス(House)なしでは存在できませんでした。

これで、この「Javaでの関係」の記事は終わりです。基本的に、構成では、クラスは、再利用したいクラスのオブジェクトへの参照を作成することにより、クラスの機能を再利用できます。これは、集約の特殊なケースとして知られています。

C 一体 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。

質問がありますか?この「Javaで関係があります」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。