Tutto ciò che devi sapere ha una relazione in Java

Questo articolo ti fornirà una conoscenza dettagliata e completa di Has a relationship in java e dei suoi vari usi.

Ha una relazione in e È una relazione sono due dei termini più confusi. In questo articolo, ci concentreremo sui seguenti parametri:



differenze tra hashmap e hashtable

Un'introduzione a ha una relazione in Java

Ha una relazione in Java nota per essere Composizione. Viene utilizzato per la riusabilità del codice. Fondamentalmente, significa che un'istanza di una classe ha un riferimento all'istanza di un'altra classe o all'altra istanza della stessa classe. Questa relazione aiuta a ridurre al minimo la duplicazione del codice e i bug.



Una composizione è una forma di associazione. L'associazione è nota come relazione tra due classi separate autorizzate tramite i loro oggetti. L'associazione può essere nella forma:

  1. Uno a uno



  2. Uno-a-molti

  3. Molti a uno

  4. Molti a molti



In OOP (Object Oriented Programming), Object comunica con un altro oggetto per utilizzare tutti i servizi e le funzionalità fornite da quell'oggetto.

Associazione

Ecco un esempio dell'attuazione dell'Associazione.

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 () + 'è un impiegato di' + b.getBankName ())}}

Produzione:

has-a-relationship-in-java

Questa è la forma speciale di associazione in cui:

  1. Questo rappresenta Has-a-relationship.

  2. È noto come associazione unidirezionale (una relazione unidirezionale) Ad esempio, il dipartimento può avere insegnanti ma viceversa non è vero e quindi di natura unidirezionale.

Ora parliamo di Composizione

La composizione è la forma ristretta in cui due oggetti sono estremamente dipendenti l'uno dall'altro. Quando esiste una composizione tra le due entità, il composto non può giacere senza un'altra entità.

Ecco l'esempio della libreria per mostrare il concetto di composizione

c ++ ordina ()
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}} class Library {private final List books Library (List books) {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 () per (Book bk: bks) {System.out.println ('Title:' + bk.title + 'and' + 'Author:' + bk.author)}}}

Produzione:

Uno dei principali vantaggi di OOPS è che possiamo riutilizzare il codice. Ci sono due modi in cui possiamo riutilizzare il codice è un'implementazione dieredità o dalla composizione dell'oggetto.

Confronto tra composizione ed ereditarietà: relazione

  • È più facile nella composizione cambiare la classe che nell'ereditarietà.

  • L'ereditarietà è il legame statico mentre la composizione è il legame dinamico.

  • L'ereditarietà delle classi è definita in fase di compilazione mentre la composizione dell'oggetto è definita in fase di esecuzione.

  • Nella composizione degli oggetti, i dettagli interni non dovrebbero esporsi l'un l'altro e interagiscono tramite le loro interfacce pubbliche mentre, Inheritance, espone sia i membri pubblici che quelli protetti della classe base.

  • In Composizione, l'accesso può essere limitato mentre, in Composizione oggetto, non c'è controllo dell'accesso.

  • In Ereditarietà, rompe l'incapsulamento esponendo una sottoclasse ai dettagli dell'implementazione del suo genitore mentre, in Object Composition, non interrompe l'incapsulamento perché si accede agli oggetti completamente attraverso le loro interfacce.

  • In Inheritance, fornisce la riusabilità del codice mentre, in Object Composition, consente di rappresentare le associazioni.

Esempio 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) // riusabilità del codice (cioè delega la chiamata al metodo). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

Produzione:

Esempio 2:

come usare un iteratore
class House {Kitchen k = new Kitchen () // more code for house class} Class Kitchen {// code of kitchen class}

Se la casa viene distrutta, verrà distrutta anche la cucina. Questa è nota come composizione quando due entità dipendono l'una dall'altra. La classe di riferimento (Kitchen) non potrebbe esistere senza la classe contenitore (House).

Con questo, arriviamo alla fine di questo articolo Has A Relationship In Java. In sostanza, in composizione, una classe può riutilizzare le funzionalità della classe creando un riferimento all'oggetto della classe che vuole riutilizzare. È noto come il caso speciale di aggregazione.

C diamine il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog 'Ha una relazione in Java' e ti risponderemo il prima possibile.