Oversigt over arv i Java

I modsætning til andre programmeringssprog som C, tilbyder Java en mekanisme, hvorved datamedlemmer og metoder i en klasse arves af en anden klasse. Denne proces kaldes Arv i Java For at arve fra en klasse bruges nøgleord 'extends'. Arv i Java tillader genanvendelighed af kode, så en klasse kun behøver at skrive de unikke funktioner, og resten af ​​koden kan udvides fra den anden klasse. Klassen, der arver fra den anden klasse, kaldes underklasse eller børneklasse, og klassen, der arves, kaldes forældreklasse eller superklasse. Syntaks, typer og implementering af arv diskuteres i de følgende afsnit.

Arvstyper i Java

Arv betyder et IS-A-forhold, der ellers er kendt som et forældre-barn-forhold. Forældre og barn er allerede nævnt i introduktionsdelen.

Før vi går over til arvetyperne i java, lad os først se syntaks af arv.

Syntaks:

class apple extends fruit
(
//methods and fields
)

Her er æble underklasse og frugt er forældreklassen. Dette betyder, at æble har bestemte unikke egenskaber, og at det også har frugtens egenskaber.

Der er 4 forskellige typer arv i Java.

  • Enkelt arv
  • Arv på flere niveauer
  • Hierarkisk arv
  • Multiple arv (ved hjælp af grænseflader)

Lad os nu se hver af dem detaljeret.

1. Enkelt arv

En klasse, der kun udvider en klasse. I det følgende eksempel udvider klasse æble klassefrugt.

dvs. frugt er superklassen, og Apple er den underklasse, der udvider egenskaberne og opførslen af ​​frugtklassen.

Følgende er demonstrationen af ​​single arv i Java.

Kode:

//Java program to demonstrate Single Inheritance
//parent class
class fruit (
public void taste()
(
System.out.println("Fruits are sweet");
)
)
//child class of fruit
class apple extends fruit
(
public void shape()
(
System.out.println("Apple is round");
)
)
public class InheritanceExample
(
public static void main(String() args) (
apple fr = new apple(); //object of child class
fr.taste(); //call method of parent class
fr.shape(); //call method of child class
)
)

Produktion:

2. Erfarenhed på flere niveauer

I denne arvtype udvides en klasse fra en anden klasse, og den afledte klasse fungerer som baseklasse for en anden klasse.

For eksempel i figuren er en klasse firehjuling forældreklasse, og bilen er den afledte klasse af firehjulingsklasse. Samtidig kan klassebilen være baseklassen for klasse Maruti.

Kode:

//Java program to demonstrate Multiple Inheritance
//parent class
class fourwheeler (
public void wheels()
(
System.out.println("I have 4 wheels");
)
)
//child class of fourwheeler and parent of maruti
class car extends fourwheeler
(
public void type()
(
System.out.println("I'm a car");
)
)
//child class of car class
class maruti extends car
(
public void comp()
(
System.out.println("I'm maruti");
)
)
public class InheritanceExample
(
public static void main(String() args) (
maruti fr = new maruti(); //object of child class
fr.wheels();
fr.type();
fr.comp();
)
)

Produktion:

3. Hierarkisk arv

I hierarkisk arv har en baseklasse mere end en barneklasse, hvilket betyder, at en klasses egenskaber erhverves af forskellige klasser.

For eksempel har et klassekøretøj underklasser biler, cykler, scootere.

Kode:

//Java program to demonstrate Hierarchical Inheritance
//parent class
class vehicle (
public void wheels()
(
System.out.println("I have wheels");
)
)
//first child class of vehicle class
class bike extends vehicle
(
public void countwl()
(
System.out.println("I am a bike and has 2 wheels");
)
)
//second child class of vehicle class
class car extends vehicle
(
public void countwlc()
(
System.out.println("I am a car and has 4 wheels");
)
)
//third child class of vehicle class
class scooter extends vehicle
(
public void countwls()
(
System.out.println("I am a scooter and has 2 wheels");
)
)
public class InheritanceExample
(
public static void main(String() args) (
scooter sc = new scooter(); //object of scooter class
sc.wheels();
sc.countwls();
car c = new car(); //object of car class
c.wheels();
c.countwlc();
bike b= new bike();//object of bike class
b.wheels();
b.countwl();
)
)

Produktion:

4. Multiple arv

Flere arv i java er en type arv, hvor en klasse har mere end en forældreklasse.

F.eks. Erhverver klasse C egenskaberne for både klasse A og klasse B.

Men i Java kan Multiple Inheritance kun opnås ved hjælp af grænseflader.

Antag, at flere arv implementeres som andre typer arv, en kompileringstid-fejl kan opstå som følger.

Kode:

//Java program to demonstrate multiple Inheritance
//parent class
class A
(
public void hh()
(
System.out.println("A is working");
)
)
class B
(
public void hh()
(
System.out.println("B is working");
)
)
class C extends A, B
(
//code for class c
)
public class InheritanceExample
(
public static void main(String() args) (
C sc = new C(); //object of C class
C.hh();
)
)

Her vises output ikke, da det indeholder en kompileringstid-fejl.

Betydningen af ​​arv i Java

  • Genanvendelse af kode: Arv hjælper med at reducere omskrivning af kode. dvs. kode kan genanvendes af andre klasser, og barneklassen skal kun skrive sine egne unikke egenskaber. Dette reducerer kodens tidsforbrug og kompleksitet.
  • Ved metodeoverskridelse: En metode, der allerede er til stede i forældreklassen, erklæres af underordnede klasser, så kaldes den metodeoverskridende.
Bemærk: Antag, at hvis en klasse ikke skal genbruges, kan nøgleordet final bruges.

Syntaks:

final class A
(
. . .
)
Class B extends A
(
. . .
)

I dette tilfælde genereres en fejl, der siger 'Kan ikke arve fra den endelige A'.

Konklusion

Arv i Java er en egenskab, som egenskaber og opførsel af en klasse erhverves af en anden klasse for at give genanvendelighed af kode. Der er forskellige typer arv i Java, såsom single arv, flerniveau arv, hierarkisk arv og multipel arv i Java. I dette dokument er flere vigtige aspekter ved arv dækket.

Anbefalede artikler

Dette er en guide til arv i Java. Her diskuterer vi betydningen og forskellige arvearealer i java sammen med syntaks, eksempler og kodeimplementering. Du kan også se på de følgende artikler for at lære mere-

  1. JScrollPane i Java
  2. Samlinger i PHP
  3. Sorterer i Java
  4. Hvad er Java Garbage Collector?
  5. Java-implementeringsværktøjer
  6. Overstyring i Java
  7. Arv i PHP

Kategori: