Ma związek w i Czy związek to dwa najbardziej zagmatwane terminy. W tym artykule skupimy się na następujących parametrach:
utwórz kopię obiektu java
Wprowadzenie do relacji w Javie
Ma związek w Javie jest znany jako Kompozycja. Służy do ponownego wykorzystania kodu. Zasadniczo oznacza to, że instancja jednej klasy ma odniesienie do instancji innej klasy lub innej instancji tej samej klasy. Ta relacja pomaga zminimalizować powielanie kodu, a także błędy.
Kompozycja jest formą stowarzyszenia. Skojarzenie jest znane jako relacja między dwiema oddzielnymi klasami, które są autoryzowane przez swoje obiekty. Skojarzenie może mieć postać:
Jeden na jednego
Jeden za dużo
Wiele do jednego
Wiele do wielu
W OOP (Object Oriented Programming), obiekt komunikuje się z innym obiektem, aby korzystać ze wszystkich usług i funkcji zapewnianych przez ten obiekt.
Stowarzyszenie
Oto przykład realizacji Stowarzyszenia.
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 () + 'jest pracownikiem' + b.getBankName ())}}
Wynik:
Jest to specjalna forma stowarzyszenia, w której:
To reprezentuje związek.
dynamiczna alokacja pamięci w c ++ z przykładowym programem
Nazywa się to stowarzyszeniem jednokierunkowym (relacja jednokierunkowa). Na przykład wydział może mieć nauczycieli, ale odwrotnie jest nieprawdziwy, a zatem ma charakter jednokierunkowy.
Porozmawiajmy teraz o kompozycji
Kompozycja jest ograniczoną formą, w której dwa obiekty są od siebie silnie zależne. Kiedy istnieje kompozycja między tymi dwoma bytami, kompozycja nie może istnieć bez innego bytu.
Oto przykład biblioteki do pokazania koncepcji kompozycji
import java.io. * import java.util. * class Książka {public String tytuł public String autor Książka (String tytuł, String autor) {this.title = tytuł this.author = autor}} klasa Biblioteka {private final Lista książek Biblioteka (Lista książek) {this.books = books} public List getTotalBooksInLibrary () {return books}} class edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Książka b3 = nowa książka ('Java: Complete Reference', 'Herb S') List books = new ArrayList () books.add (b2) books.add (b3) Library library = new Library (książki) Lista bks = biblioteka .getTotalBooksInLibrary () for (Book bk: bks) {System.out.println ('Title:' + bk.title + 'and' + 'Author:' + bk.author)}}}
Wynik:
Jedną z głównych zalet OOPS jest możliwość ponownego wykorzystania kodu. Istnieją dwa sposoby ponownego wykorzystania kodu, który jest implementacjądziedziczenie lub skład obiektu.
Porównanie składu i dziedziczenia: związek
W kompozycji łatwiej jest zmienić klasę niż w dziedziczeniu.
Dziedziczenie jest wiązaniem statycznym, podczas gdy kompozycja jest wiązaniem dynamicznym.
Dziedziczenie klas jest definiowane w czasie kompilacji, podczas gdy kompozycja obiektu jest definiowana w czasie wykonywania.
W kompozycji obiektu wewnętrzne szczegóły nie powinny się wzajemnie ujawniać i oddziałują za pośrednictwem swoich publicznych interfejsów, podczas gdy w przypadku dziedziczenia ujawnia zarówno publiczne, jak i chronione elementy klasy bazowej.
jak zrobić słownik w java
W kompozycji dostęp można ograniczyć, podczas gdy w kompozycji obiektu nie ma kontroli dostępu.
W dziedziczeniu przerywa hermetyzację, ujawniając podklasę szczegółom implementacji jej rodzica, podczas gdy w kompozycji obiektu nie przerywa hermetyzacji, ponieważ do obiektów uzyskuje się pełny dostęp przez ich interfejsy.
W dziedziczeniu zapewnia możliwość ponownego wykorzystania kodu, podczas gdy w kompozycji obiektu umożliwia reprezentowanie skojarzeń.
Przykład 1:
class Operation {int square (int n) {return n * n}} class Circle {Operacja op // agregacja double pi = 3,14 double area (int radius) {op = new Operation () int rsquare = op.square (radius) // możliwość ponownego wykorzystania kodu (tj. deleguje wywołanie metody). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}
Wynik:
Przykład 2:
class House {Kitchen k = new Kitchen () // więcej kodu dla domu class} Class Kitchen {// code of kitchen class}
Jeśli dom zostanie zniszczony, zniszczona zostanie również kuchnia. Nazywa się to kompozycją, gdy dwie jednostki są od siebie zależne. Klasa odniesienia (Kuchnia) nie mogłaby istnieć bez klasy kontenera (Dom).
W ten sposób dochodzimy do końca artykułu Ma związek w Javie. Zasadniczo w kompozycji klasa może ponownie wykorzystać funkcjonalność klasy, tworząc odniesienie do obiektu klasy, którego chce ponownie użyć. Jest znany jako szczególny przypadek agregacji.
do heck out the autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na blogu „Ma związek w Javie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.