Perintö Java OOP: eissa esimerkiksi

Mitä on perintö?

Perintö on mekanismi, jossa yksi luokka hankkii toisen luokan omaisuuden. Esimerkiksi lapsi perii vanhempiensa piirteet. Perinnöllä voimme käyttää uudelleen olemassa olevan luokan kenttiä ja menetelmiä. Näin ollen perintö helpottaa uudelleenkäytettävyyttä ja on tärkeä käsite OOP: ista.

Tässä opetusohjelmassa opit-

  • Perintötyypit
  • Java-perintö
  • Java Perintöesimerkki
  • Super-avainsana
  • Opi perintö OOP: n esimerkillä

Perintötyypit

Erilaiset perintötyypit Java: ssa:

Yksi perintö:

Yhdessä perinnössä yksi luokka laajentaa toista luokkaa (vain yksi luokka).

Yksi perintö

Yllä olevassa kaaviossa luokka B laajentaa vain luokkaa A. Luokka A on superluokka ja luokka B on alaluokka.

Moniperintö:

Moniperinnössä yksi luokka laajentaa enemmän kuin yksi luokka. Java ei tue useita perintöjä.

Moninkertainen perintö

Kuten yllä olevassa kaaviossa on esitetty, luokka C laajentaa molempia luokkaa A ja B.

Monitasoinen perintö:

Monitasoisessa perinnössä yksi luokka voi periä johdetusta luokasta. Näin ollen johdetusta luokasta tulee uuden luokan perusluokka.

Monitasoinen perintö

Kuten kaaviossa on esitetty, luokka C on luokan B alaluokka ja B on luokan A alaluokasta.

Hierarkkinen perintö:

Hierarkkisessa perinnössä yksi luokka periytyy monista alaluokista.

Hierarkkinen perintö

Yllä olevan esimerkin mukaisesti luokat B, C ja D perivät saman luokka A.

Hybridi-perintö:

Hybridi-perintö on yhdistelmä yksittäistä ja useampaa perintöä.

Hybridiperintö

Yllä olevan esimerkin mukaisesti kaikki luokan A julkiset ja suojatut jäsenet ovat periytyy D-luokkaan, ensin luokan B kautta ja toiseksi luokan C kautta.

Huomaa: Java ei tue hybridi- / moniperinnöllisyyttä

Java-perintö

JAVA-PERINNÄ on mekanismi, jossa yksi luokka hankkii toisen luokan ominaisuuden. Jos Java: ssa kahden luokan välillä on ”Is-A” -suhde, käytämme Perintöä. Vanhempaluokkaa kutsutaan superperheeksi. luokka ja perittyä luokkaa kutsutaan alaluokaksi. Alaluokka käyttää avainsanaa extends superluokan ominaisuuksien perimiseen.

Perintö on tärkeä, koska se johtaa koodin uudelleenkäyttöön.

Java-perintösyntaksi:

class subClass extends superClass { //methods and fields } 

Java-perintö E xample

Super-avainsana

Super-avainsana on samanlainen kuin tämä ”avainsana”.

Avainsanalla super voidaan käyttää mitä tahansa yläluokan datajäsentä tai menetelmää.

Super-avainsanaa voidaan käyttää muuttuja-, menetelmä- ja konstruktoritasolla.

Syntaksi:

super.<method-name>();

Oopi perintö OOP: n esimerkin avulla

Harkitse samaa pankkisovellusta edellisestä esimerkistä .

Meidän on tarkoitus avata kaksi erilaista tilityyppiä, toinen tallennusta varten ja toinen tarkistusta varten (tunnetaan myös nykyisenä).

Vertaillaan ja tutkitaan, miten voimme lähestyä koodausta strukturoidusta ja olio-ohjelmoinnin näkökulmasta. Strukturoidussa ohjelmoinnissa luomme kaksi toimintoa –

  1. Yksi nostettavaksi
  2. Ja toinen talletustoimintaa varten.

Koska näiden toimintojen toiminta pysyy samana kaikilla tileillä.

OOP: n lähestymistapa: OOPs-ohjelmointitapaa käytettäessä. Luomme kaksi luokkaa.

  • Jokaisella on talletus- ja nostotoiminnot.
  • Tämä merkitsee ylimääräistä työtä.

Ohjelmistomuutospyyntö

Nyt vaatimusmäärittelyssä on tapahtunut muutos sellaiselle, joka on niin yleistä ohjelmistoteollisuudessa. Sinun on tarkoitus lisätä etuoikeutettu pankkitili Overdraf-järjestelyyn. Taustalimiitti on järjestely, jossa voit nostaa summan, joka ylittää tililläsi olevan saldon.

Rakenteellinen lähestymistapa: Funktionaalista lähestymistapaa käytettäessä minun on muokattava peruutustoimintoa, joka on jo testattu ja perusviiva. Ja lisää menetelmä, kuten alla, huolehtii uusista vaatimuksista.

OOP: n lähestymistapa: Käyttämällä OOP: n lähestymistapaa sinun tarvitsee vain kirjoita uusi luokka, jossa on ainutlaatuinen peruutustoiminnon toteutus. Emme koskaan koskettaneet testattua koodia.

Toinen muutospyyntö

Entä jos vaatimus muuttuu edelleen? Haluat lisätä luottokorttitilin, jolla on oma ainutlaatuinen vaatimuksensa talletuksista.

Rakenteellinen lähestymistapa: Rakenteellista lähestymistapaa käyttämällä sinun on vaihdettava testattu talletuskoodi uudelleen.

OOP: n lähestymistapa: Mutta käyttämällä olio-lähestymistapaa, vain luo uusi luokka, jolla on ainutlaatuinen talletusmenetelmän toteutus (korostettu punaisella alla olevassa kuvassa).

Vaikka rakenteellinen ohjelmointi vaikuttaakin aluksi helpolta, OOP voittaa pitkällä aikavälillä.

Perimisen etu OOP-tiedostoissa

Mutta voidaan väittävät, että kaikissa luokissa sinulla on toistuva koodinpala.

Voit voittaa tämän luomalla vanhempaluokan, sanomalla ”tili” ja toteuttamalla saman talletus- ja nostotoiminnon. Ja tee lapsiluokista peritty ”tilin” luokka. Jotta heillä olisi pääsy kotiutus- ja talletusfunktioihin tililuokassa.

Toimintoja ei tarvitse toteuttaa erikseen. Tämä on perintö java. .

Write a Comment

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *