Alt du trenger å vite om har et forhold i Java



Denne artikkelen vil gi deg en detaljert og forståelig kunnskap om Har et forhold i java og det er forskjellige bruksområder.

Har et forhold i og er et forhold er to av de mest forvirrende begrepene. I denne artikkelen vil vi fokusere på følgende parametere:

robot prosess automatisering verktøy sammenligning

En introduksjon til har et forhold i Java

Har et forhold i Java er kjent for å være som Composition. Den brukes til gjenbrukbarhet av koden. I utgangspunktet betyr det at en forekomst av den ene klassen har en referanse til forekomsten av en annen klasse eller den andre forekomsten av samme klasse. Dette forholdet bidrar til å minimere duplisering av kode så vel som feilene.





En komposisjon er en form for forening. Forening er kjent som forholdet mellom to separate klasser som er autorisert gjennom sine objekter. Forening kan være av formen:

  1. En-til-en



  2. En-til-mange

  3. Mange-til-en

  4. Mange-til-mange



I OOP (Object Oriented Programming) kommuniserer Object med et annet objekt for å bruke alle tjenestene og funksjonene som tilbys av det objektet.

assosiasjon

Her er et eksempel på implementeringen av foreningen.

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 () + 'er en ansatt i' + b.getBankName ())}}

Produksjon:

has-a-relationship-in-java

Dette er den spesielle tilknytningsformen der:

  1. Dette representerer Has-a-relationship.

  2. Det er kjent som en ensrettet forening (enveiskjøring). For eksempel kan avdelingen ha lærere, men omvendt er ikke sant og dermed ensrettet.

    hva er datavitenskap?

La oss nå snakke om komposisjon

Komposisjonen er den begrensede formen der to objekter er enormt avhengige av hverandre. Når det eksisterer en sammensetning mellom de to enhetene, kan den sammensatte ikke lyve uten en annen enhet.

Her er eksemplet på biblioteket for å vise begrepet komposisjon

importer java.io. * import java.util. * klasse Bok {offentlig streng tittel offentlig streng forfatter bok (streng tittel, streng forfatter) {this.title = tittel this.author = forfatter}} klasse Bibliotek {privat slutt Listebøker Bibliotek (Listebøker) {this.books = books} public List getTotalBooksInLibrary () {return books}} class edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Bok b3 = ny bok ('Java: Komplett referanse', 'Herb S') Listebøker = ny ArrayList () books.add (b2) books.add (b3) Bibliotekbibliotek = nytt Bibliotek (bøker) Liste bks = bibliotek .getTotalBooksInLibrary () for (Book bk: bks) {System.out.println ('Tittel:' + bk.title + 'og' + 'Forfatter:' + bk.author)}}

Produksjon:

En av de viktigste fordelene med OOPS er at vi kan bruke koden på nytt. Det er to måter vi kan gjenbruke koden på, er en implementering avarv eller av objektsammensetningen.

Sammenligning av sammensetning og arv: forhold

  • Det er lettere i sammensetning å endre klasse enn i arv.

  • Arv er den statiske bindingen mens sammensetningen er den dynamiske bindingen.

  • Klassearv er definert på kompileringstid, mens objektsammensetningen er definert på kjøretid.

    gå til c ++
  • I objektsammensetning skal ikke de interne detaljene eksponere for hverandre, og de samhandler ved deres offentlige grensesnitt, mens det i arv utsetter både publikum og de beskyttede medlemmene av baseklassen.

  • I komposisjon kan tilgang være begrenset, mens det i objektsammensetning ikke er tilgangskontroll.

  • I arv bryter den innkapsling ved å utsette en underklasse for detaljene til foreldrenes implementering, mens den i objektsammensetning ikke bryter innkapsling fordi objekter er fullstendig tilgjengelig gjennom deres grensesnitt.

  • I arv gir den koden gjenbrukbar, mens den i objektsammensetning tillater å representere foreningene.

Eksempel 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) // kode gjenbrukbarhet (dvs. delegerer metodeanropet). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

Produksjon:

Eksempel 2:

class House {Kitchen k = new Kitchen () // mer kode for husklasse} Class Kitchen {// code of kitchen class}

Hvis huset blir ødelagt, vil også kjøkkenet bli ødelagt. Dette er kjent som sammensetningen når to enheter er avhengige av hverandre. Referanseklassen (Kitchen) kunne ikke eksistere uten containerklassen (House).

Med dette kommer vi til en slutt på denne Has A Relationship In Java-artikkelen. I utgangspunktet kan en klasse i komposisjon gjenbruke klassens funksjonalitet ved å lage en referanse til objektet til klassen som den ønsker å gjenbruke. Det er kjent som det spesielle tilfellet av aggregering.

C pokker ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for studenter og fagpersoner som ønsker å være Java-utvikler.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet til denne 'Har et forhold i Java' -bloggen, så kommer vi tilbake til deg så snart som mulig.