Ülevaade Java pärimisest

Erinevalt teistest programmeerimiskeeltest, näiteks C, pakub Java mehhanismi, mille abil ühe klassi andmeliikmed ja meetodid pärandatakse teisele klassile. Seda protsessi tuntakse Java-s pärandina. Klassist pärimiseks kasutatakse märksõna 'laieneb'. Pärimine Java-s võimaldab koodi korduvat kasutamist, nii et klass peab kirjutama ainult unikaalsed omadused ja ülejäänud koodi saab teisest klassist laiendada. Klassi, mis pärandub teiselt klassilt, nimetatakse alamklassiks või lasteklassiks ja pärandatavat klassi tuntakse vanemateklassina või ülemklassina. Järgmistes osades käsitletakse süntaksi, tüüpe ja pärandi rakendamist.

Pärimise tüübid Java-s

Pärimine tähendab IS-suhet, mida muidu nimetatakse vanema ja lapse suhteks. Vanem ja laps on sissejuhatuses juba mainitud.

Enne javas pärimise tüüpide juurde liikumist vaatame kõigepealt pärandi süntaksi.

Süntaks:

class apple extends fruit
(
//methods and fields
)

Siin on alamklass õun ja põhiklass puuvili. See tähendab, et õunal on teatud unikaalsed omadused ja sellel on ka puuvilja omadused.

Java-vormingus on 4 erinevat tüüpi pärimist.

  • Üksik pärand
  • Mitmetasandiline pärimine
  • Hierarhiline pärimine
  • Mitu pärimist (liideste abil)

Vaatame nüüd neid kõiki üksikasjalikult.

1. Üksik pärand

Klass, mis laiendab ainult ühte klassi. Järgmises näites laiendab klassi õun klassi puuvilju.

st puuvili on superklass ja õun on alaklass, mis laiendab puuviljaklassi omadusi ja käitumist.

Järgnevalt tutvustatakse Java pärimust.

Kood:

//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
)
)

Väljund:

2. Mitmetasandiline pärimine

Seda tüüpi pärandi korral laiendatakse klass teisest klassist ja tuletatud klass toimib mõne teise klassi põhiklassina.

Näiteks joonisel on klassi nelikvedu põhiklass ja auto tuletatud klass nelikveo klass. Samal ajal võib klassiauto olla klassi Maruti põhiklass.

Kood:

//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();
)
)

Väljund:

3. Hierarhiline pärimine

Hierarhilises pärandis on põhiklassis rohkem kui üks lasteklass, mis tähendab, et klassi omadused omandavad erinevad klassid.

Näiteks on klassi sõidukil alamklassid autod, jalgrattad, tõukerattad.

Kood:

//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();
)
)

Väljund:

4. Mitu pärimist

Mitu pärandit javas on pärandi tüüp, mille korral klassis on rohkem kui üks vanemklass.

Näiteks C-klass omandab nii A- kui ka B-klassi omadused.

Kuid Java-s saab mitmekordist pärandit saavutada ainult liideste abil.

Oletame, et mitu pärandit rakendatakse sarnaselt muud tüüpi päranditega, võib kompileerimise aja viga ilmneda järgmiselt.

Kood:

//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();
)
)

Siin ei kuvata väljundit, kuna see sisaldab kompileerimise aja viga.

Pärandi tähtsus Java-s

  • Koodi korduvkasutatavus: pärimine aitab vähendada koodi ümberkirjutamist. st Koodi saavad teised klassid uuesti kasutada ja lasteklass peab kirjutama ainult oma unikaalsed omadused. See vähendab koodi ajakulu ja keerukust.
  • Meetodi alistamine: Lapseklass deklareerib meetodi, mis juba olemas vanemklassis, siis seda nimetatakse meetodi ülimuslikuks.
Märkus. Oletame, et kui klassi ei tohiks uuesti kasutada, saab kasutada märksõna lõplik.

Süntaks:

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

Sel juhul genereeritakse tõrge, mis ütleb: "Ei saa lõplikust A-st pärida".

Järeldus

Pärimine Java-s on omadus, mille abil klass omandab klassi omadused ja käitumise, et tagada koodi korduvkasutatavus. Java-s on erinevat tüüpi pärandusi, näiteks Java pärimine, mitmetasandiline pärand, mitmetasandiline pärand, hierarhiline pärand ja mitu pärimist. Selles dokumendis käsitletakse pärandi mitut olulist aspekti.

Soovitatavad artiklid

See on Java pärimise juhend. Siin käsitleme javas pärimise olulisust ja erinevaid tüüpe koos süntaksi, näidete ja koodi rakendamisega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. JScrollPane Java
  2. Seansid PHP-s
  3. Sorteerimine Java-s
  4. Mis on Java prügikoguja?
  5. Java juurutustööriistad
  6. Ülekaalus Java
  7. Pärand PHP-s

Kategooria: