Всичко, за което трябва да знаете, има връзка в Java



Тази статия ще ви предостави подробни и разбираеми познания за Има връзка в Java и има различни приложения.

Има връзка в и е връзка е два от най-объркващите термини. В тази статия ще се съсредоточим върху следните параметри:

Java какво прави добавя

Въведение в Има връзка в Java

Има връзка в Java, както е известно като Composition. Използва се за повторна употреба на кода. По принцип това означава, че екземпляр на един клас има препратка към екземпляра на друг клас или другия екземпляр на същия клас. Тази връзка помага да се сведе до минимум дублирането на код, както и грешките.





Композицията е форма на Асоциация. Асоциацията е известна като връзката между два отделни класа, които са разрешени чрез техните обекти. Асоциацията може да бъде във формата:

  1. Едно към едно



  2. Един към много

  3. Много към един

  4. Много към много



В OOP (обектно-ориентирано програмиране), обектът комуникира с друг обект, за да използва всички услуги и функционалности, предоставени от този обект.

Асоциация

Ето пример за изпълнението на Асоциацията.

import java.io. * class Bank {private String name Bank (String name) {this.name = name} public String getBankName () {return this.name}} class Служител {private String name Employee (String name) {this. name = name} публичен низ getEfficieeName () {return this.name}} клас Асоциация {public static void main (String [] args) {Bank b = new Bank ('Axis') Служител e = нов служител ('Himanshi') System.out.println (e.getEfficieeName () + 'е служител на' + b.getBankName ())}}

Изход:

has-a-relationship-in-java

Това е специалната форма на сдружаване, когато:

  1. Това представлява връзката „има връзка“.

  2. Известна е като еднопосочна асоциация (еднопосочна връзка) Например, катедрата може да има учители, но обратното не е вярно и следователно еднопосочен характер.

Сега нека поговорим за състава

как да прекратя програмата в

Композицията е ограничената форма, в която два обекта са силно зависими един от друг. Когато съществува състав между двете обекти, съставеният не може да лежи без друг обект.

Ето примера на библиотеката за показване на концепцията за композиция

import java.io. * import java.util. * class Book {public String title public String author Book (String title, String author) {this.title = title this.author = author}} Library Library {private final Списък на библиотеките (Списък на книгите) {this.books = books} публичен списък getTotalBooksInLibrary () {връщане на книги}} class edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Книга b3 = нова книга ('Java: Пълна справка', 'Билка S') Списък на книгите = нов ArrayList () books.add (b2) books.add (b3) Библиотека на библиотеката = нова библиотека (книги) Списък bks = библиотека .getTotalBooksInLibrary () за (Книга bk: bks) {System.out.println ('Заглавие:' + bk.title + 'и' + 'Автор:' + bk.author)}}}

Изход:

Едно от основните предимства на OOPS е, че можем да използваме кода повторно. Има два начина, по които можем да използваме повторно кода, който е изпълнение нанаследство или от обектния състав.

Сравняване на композицията и наследяването: Връзка

  • По-лесно е по състав да се променя класът, отколкото при наследяване.

  • Наследяването е статичното свързване, докато съставът е динамичното свързване.

  • Унаследяването на класа се дефинира по време на компилация, докато съставът на обекта се дефинира по време на изпълнение.

  • В състава на обекта вътрешните детайли не трябва да се излагат един на друг и те си взаимодействат чрез своите публични интерфейси, докато при Inheritance той излага както публичните, така и защитените членове на базовия клас.

  • В Composition достъпът може да бъде ограничен, докато в Object композиция няма контрол на достъпа.

  • При наследяване той прекъсва капсулирането, като излага подклас на подробностите за изпълнението на своя родител, докато в Object Composition той не нарушава капсулирането, тъй като до обектите се осъществява пълен достъп чрез техните интерфейси.

  • При наследяване той осигурява повторната употреба на кода, докато при обектна композиция позволява да се представят асоциациите.

Пример 1:

class Operation {int square (int n) {return n * n}} class Circle {Operation op // агрегиране double pi = 3.14 double area (int radius) {op = new Operation () int rsquare = op.square (radius) // повторна употреба на кода (т.е. делегира извикването на метода). връщане pi * rsquare} публична статична празнота main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

Изход:

Пример 2:

class House {Kitchen k = new Kitchen () // още код за house class} Class Kitchen {// код на кухня class}

Ако къщата бъде разрушена, кухнята също ще бъде унищожена. Това е известно като състав, когато две обекти са зависими един от друг. Референтният клас (Кухня) не би могъл да съществува без класа на контейнера (Къща).

С това стигнахме до края на тази статия „Има връзка в Java“. По принцип, В състав, клас може да използва повторно функционалността на класа чрез създаване на препратка към обекта на класа, който иска да използва повторно. Известен е като специален случай на агрегиране.

java масив от обекти пример

° С по дяволите от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer.

Имате въпрос към нас? Моля, споменете го в раздела за коментари в този блог „Има връзка в Java“ и ние ще се свържем с вас възможно най-скоро.