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).
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ä.
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.
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.
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öä.
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 –
- Yksi nostettavaksi
- 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. .