Arvtyper i Java | Forklart

Arvtyper i Java | Forklart
Et av nøkkelbegrepene for objektorientert Java-programmering er Arv som lar en klasse skaffe seg klasseattributtene og medlemsfunksjonene til de andre klassene ved hjelp av et nøkkelord strekker. I Java er det flere arvetyper som enkelt, flernivå og hierarkisk som kan brukes basert på forskjellige omstendigheter. I motsetning til noen andre programmeringsspråk som C ++, støtter ikke Java begrepet flere arv for å unngå tvetydighet.

Denne oppskrivningen gir en detaljert oversikt over følgende konsepter angående arvtyper i Java:

  • Enkelt arv i java
  • Hierarkisk arv i Java
  • Flernivå arv i Java
  • Grunnleggende syntaks for singel, flernivå og hierarkisk arv i Java
  • Hvordan bruke enkelt-, flernivå- og hierarkisk arv i Java

Så la oss komme i gang!

Enkelt arv

Når det gjelder enkeltarv, eksisterer det bare en foreldreklasse og en barneklasse, og barneklassen kan få tilgang til klasseattributtene og funksjonene til foreldreklassen. Vi må ta vare på klasseattributter og klassemetoder, slik at det ikke skal være en konflikt mellom medlemmer av foreldre og barneklasse.

Syntaks

Den grunnleggende syntaksen til den eneste arven vil være slik:

Public Class Parent
// klasseattributter
// medlemsfunksjoner

Public Class Child utvider foreldre
// klasseattributter
// medlemsfunksjoner

De strekker nøkkelord indikerer at egenskapene til Foreldreklasse arves til Barneklasse.

Den undergitte figuren vil gi en bedre forståelse av enkeltarv:

Det er bare to klasser:

Barneklasse: den kan arve alle attributtene og metodene til Foreldreklasse Og den har ingen underklasse.

Foreldreklasse: Det er en superklasse som arves av Barneklasse.

Eksempel

I det undergitte kodebiten oppretter vi tre klasser: a Person Klasse utvidet med Student klasse og en “Javainheritance”Klasse der vi lager hoved- metode:

klasseperson
beskyttet int personage = 25;
beskyttet streng personnavn = "John";
public void display ()
System.ute.Println ("Dette er personklasse");


Klassestudent utvider personen
beskyttet int rollno = 13;

offentlig klasse Javainheritance
public static void main (String [] args)
Student STD = ny student ();
std.vise();
System.ute.Println ("Studentrull nei. = " + STD.rollno);
System.ute.Println ("Studentnavn =" + STD.personnavn);
System.ute.Println ("Studentalder =" + STD.personage);

Den undergitte figuren viser den komplette koden sammen med utdataene:

I figuren ovenfor kalles en metode for personklasse med gjenstanden for studentklasse, og utgangen viser at den fungerer ordentlig.

Hierarkisk arv

Flere klasser kan utvides fra en klasse i hierarkisk arv i.e. En forelder kan ha flere barneklasser.

Den grunnleggende syntaksen til den hierarkiske arven er vist i det undergitte utdraget

Public Class Parent
// klasseattributter
// medlemsfunksjoner

offentlig klasse barn1 utvider foreldre
// klasseattributter
// medlemsfunksjoner

offentlig klasse Child2 utvider foreldre
// klasseattributter
// medlemsfunksjoner

Ovennevnte utdrag viser at begge avledede klasser I.e. Child1 og Child2 kan arve egenskapene til Foreldre klasse.

Den undergitte figuren viser strømmen av hierarkisk arv:

Eksempel

klasseperson
beskyttet streng personnavn = "John";

Klassestudent utvider personen
beskyttet int rollno = 13;

klasseansatt utvider person
beskyttet int empid = 2;

offentlig klasse Javainheritance
public static void main (String [] args)
Student STD = ny student ();
System.ute.Println ("Studentrull nei. = " + STD.rollno);
System.ute.Println ("Studentnavn =" + STD.personnavn);
Ansatt EMP = ny ansatt ();
System.ute.Println ("Ansatt ID =" + EMP.empid);
System.ute.println ("ansattes navn =" + emp.personnavn);

Fra ovennevnte utdrag kan vi observere at begge deler Ansatt og Student klasser arves av Person Klasse. Så for det første må vi lage objektene til begge klasser individuelt, så kan deres respektive attributter nås gjennom objektene sine.

Den komplette koden og resulterende utgang er vist i følgende figur:

Ovennevnte skjermbilde viser at begge klassene fikk tilgang til attributtene til Person klasse som autentiserer arbeidet med hierarkisk arv.

Arv på flere nivåer

I arver i flere nivåer utføres arven på nivåbasen, i.e. En klasse kan arve egenskapene til en annen klasse som allerede er arvet fra en annen klasse.

Syntaks

Den grunnleggende syntaks for arve på flere nivåer vises i det undergitte utdraget:

Public Class Parent
// klasseattributter
// medlemsfunksjoner

offentlig klasse barn1 utvider foreldre
// klasseattributter
// medlemsfunksjoner

offentlig klasse Child2 utvider Child1
// klasseattributter
// medlemsfunksjoner

Den undergitte figuren vil gi en dyp forståelse av arver i flere nivåer:

I den ovennevnte figuren, Child1 Klasse er en avledet klasse av Foreldre Klasse og Child2 Klasse er den avledede klassen til Child1. Så vi kan si at Child2 Klasse er et barnebarn av Foreldre klasse. På denne måten fungerer flernivåarv i Java.

Eksempel

Dette eksemplet lager fire klasser: det første er en "Person”Klasse andre er“Student”Klasse som arver“Person”Klasse og den tredje er“Avdeling”Klasse som arver“Student”Klasse. Den fjerde klassen er “Javainheritance” som holder hovedmetoden:

klasseperson
beskyttet int personage = 25;
beskyttet streng personnavn = "John";
public void display ()
System.ute.Println ("Dette er personklasse");


Klassestudent utvider personen
beskyttet int rollno = 13;

Klasseavdeling utvider studenten
beskyttet streng dept = "informatikk";

offentlig klasse Javainheritance
public static void main (String [] args)
Avdelingsdep = ny avdeling ();
dep.vise();
System.ute.Println ("Studentrull nei. = " + dep.rollno);
System.ute.println ("studentnavn =" + dep.personnavn);
System.ute.println ("studentalder =" + dep.personage);
System.ute.Println ("Studentavdeling =" + DEP.gjeld);

I ovennevnte utdrag kan vi observere at en underklasse Student av klasse Person har en barneklasse Avdeling som sikrer at det er et eksempel på arv på flere nivåer. Den undergitte figuren gir den komplette koden og den respektive produksjonen av arven på flere nivåer:

Ovennevnte utgang autentiserer at Avdeling Klasse kan få tilgang til attributtene til Person Klasse gjennom Student klasse. Som validerer arbeidet med flernivåarv.

Konklusjon

Java gir forskjellige typer arv som kan brukes til forskjellige formål, avhengig av de forskjellige scenariene og brukerens behov, for eksempel, i enkelt arv, er bare en enkelt klasse utvidet fra superklassen. I hierarkisk arv kan en superklasse ha flere underklasser. Mens i flere arver i flere nivåer, kan en underklasse av en foreldreklasse også ha en barneklasse. Denne oppskrivningen presenterer en grundig oversikt over arvertyper, og den presenterer en dyp forståelse av enkelt, flernivå og hierarkisk arv, syntaks og hvordan de kan implementere dem i Java.