Alles wat u moet weten over heeft een relatie in Java

Dit artikel geeft u een gedetailleerde en uitgebreide kennis van Heeft een relatie in Java en zijn verschillende toepassingen.

Heeft een relatie in en is een relatie zijn twee van de meest verwarrende termen. In dit artikel zullen we ons concentreren op de volgende parameters:

c ++ fibonacci recursief

Een inleiding tot heeft een relatie in Java

Heeft een relatie in Java staat bekend als Compositie. Het wordt gebruikt voor hergebruik van code. In feite betekent het dat een instantie van de ene klasse een verwijzing heeft naar de instantie van een andere klasse of de andere instantie van dezelfde klasse. Deze relatie helpt om de duplicatie van code en de bugs te minimaliseren.



Een compositie is een vorm van associatie. Associatie staat bekend als de relatie tussen twee afzonderlijke klassen die zijn geautoriseerd door hun objecten. Associatie kan de volgende vorm hebben:

  1. Een op een

  2. Een te veel

  3. Veel-op-een

  4. Veel te veel

In OOP (Object Oriented Programming) communiceert Object met een ander object om alle services en functionaliteiten van dat object te gebruiken.

Vereniging

Hier is een voorbeeld van de implementatie van de Vereniging.

import java.io. * class Bank {private String naam Bank (String name) {this.name = name} public String getBankName () {return this.name}} class Employee {private String naam 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 () + 'is een werknemer van' + b.getBankName ())}}

Uitgang:

has-a-relationship-in-java

Dit is de speciale vorm van vereniging waarbij:

overbelasting en overschrijving in java
  1. Dit vertegenwoordigt een has-a-relatie.

  2. Het staat bekend als een unidirectionele associatie (een eenrichtingsrelatie). De afdeling kan bijvoorbeeld docenten hebben, maar vice versa is niet waar en daarom unidirectioneel van aard.

Laten we het nu hebben over compositie

De compositie is de beperkte vorm waarin twee objecten enorm van elkaar afhankelijk zijn. Als er een compositie bestaat tussen de twee entiteiten, kan het samengestelde niet zonder een andere entiteit liggen.

Hier is het voorbeeld van de bibliotheek om het concept van compositie te tonen

import java.io. * import java.util. * class Book {public String title public String auteur Boek (String title, String author) {this.title = titel this.author = author}} class Bibliotheek {privé finale Lijst boeken Bibliotheek (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' ) Boek b3 = nieuw boek ('Java: Complete Reference', 'Herb S') Lijst boeken = nieuwe ArrayList () books.add (b2) books.add (b3) Bibliotheek bibliotheek = nieuwe bibliotheek (boeken) Lijst bks = bibliotheek .getTotalBooksInLibrary () voor (Boek bk: bks) {System.out.println ('Titel:' + bk.title + 'en' + 'Auteur:' + bk.author)}}}

Uitgang:

Een van de belangrijkste voordelen van OOPS is dat we de code kunnen hergebruiken. Er zijn twee manieren waarop we de code kunnen hergebruiken is een implementatie vanovererving of door de samenstelling van het object.

Samenstelling en erfenis vergelijken: relatie

  • Het is gemakkelijker qua samenstelling om de klasse te veranderen dan bij overerving.

  • Overerving is de statische binding, terwijl de compositie de dynamische binding is.

  • Klasse-overerving wordt tijdens het compileren gedefinieerd, terwijl de samenstelling van het object tijdens de runtime wordt gedefinieerd.

  • Bij het samenstellen van objecten mogen de interne details niet aan elkaar worden blootgesteld en communiceren ze via hun openbare interfaces, terwijl het bij Inheritance zowel het publiek als de beschermde leden van de basisklasse blootstelt.

  • In Composition kan de toegang worden beperkt, terwijl er in Object-compositie geen toegangscontrole is.

    java datum ophalen uit string
  • In Inheritance doorbreekt het de inkapseling door een subklasse bloot te stellen aan de details van de bovenliggende implementatie, terwijl het in Object Composition de inkapseling niet verbreekt omdat objecten volledig toegankelijk zijn via hun interfaces.

  • In Inheritance biedt het de herbruikbaarheid van de code, terwijl het in Object Composition de associaties mogelijk maakt.

Voorbeeld 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) // code herbruikbaarheid (dwz delegeert de methodeaanroep). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () dubbel resultaat = c.area (5) System.out.println (resultaat)}}

Uitgang:

Voorbeeld 2:

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

Als het huis wordt vernietigd, wordt de keuken ook vernietigd. Dit staat bekend als de compositie wanneer twee entiteiten van elkaar afhankelijk zijn. De referentieklasse (Keuken) zou niet kunnen bestaan ​​zonder de containerklasse (Huis).

Hiermee komen we aan het einde van dit artikel Heeft een relatie in Java. In wezen kan een klasse in compositie de functionaliteit van de klasse hergebruiken door een verwijzing te maken naar het object van de klasse dat hij wil hergebruiken. Het staat bekend als het speciale geval van aggregatie.

C ach uit de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De training- en certificeringcursus Java J2EE en SOA van Edureka is bedoeld voor studenten en professionals die Java-ontwikkelaar willen worden.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze blog 'Heeft een relatie in Java' en we nemen zo snel mogelijk contact met u op.