Perintö sisään Java (esimerkillä)
⚡ Älykäs yhteenveto
Perintö sisään Java on mekanismi, jossa yksi luokka hankkii toisen luokan kentät ja metodit extends-avainsanan avulla. Se edistää koodin uudelleenkäytettävyyttä ja mallintaa Is-A-suhdetta yliluokan ja sen alaluokkien välillä.

Mikä on perintö?
Perintö on mekanismi, jossa yksi luokka hankkii toisen luokan ominaisuuden. Esimerkiksi lapsi perii vanhempiensa piirteet. Perinnön avulla voimme käyttää uudelleen olemassa olevan luokan kenttiä ja menetelmiä. Näin ollen perinnöllisyys helpottaa uudelleenkäytettävyyttä ja on tärkeä OOP-käsite.
Mitä perintö sisältää Java?
Java Perintö on mekanismi, jossa yksi luokka hankkii toisen luokan ominaisuuden. sisään Java, kun "Is-A" -suhde on olemassa kahden luokan välillä, käytämme periytymistä. Pääluokkaa kutsutaan superluokiksi ja perittyä luokkaa alaluokiksi. avainsana extends alaluokka käyttää sitä superluokan ominaisuuksien perimiseksi. Periytys on tärkeää, koska se johtaa koodin uudelleenkäytettävyyteen.
Java Perinnön syntaksi:
class subClass extends superClass { //methods and fields }
Perinnön tyypit Java
Tässä on erityyppisiä perintöjä Java:
- Yksi perintö
- Moninkertainen perintö
- Monitasoinen perintö
- Hierarkkinen perintö
- Hybridi perintö
1. Yksittäinen perintö:
Yksittäisessä 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.
2. Moniperintö:
Moniperintö on yksi perinnöistä Java tyypit, joissa yksi luokka ulottuu useampaan kuin yhteen luokkaan. Java ei tue moniperintöä.
Yllä olevan kaavion mukaisesti luokka C laajentaa sekä luokan A että luokan B.
3. Monitasoinen perintö:
Monitasoperinnössä yksi luokka voi periä johdetusta luokasta. Tästä syystä johdetusta luokasta tulee uuden luokan perusluokka.
Kuten kaaviossa näkyy, luokka C on B:n alaluokka ja B on luokan A alaluokka.
4. Hierarkkinen periytyminen:
Hierarkkisessa perinnössä yksi luokka periytyy useiden alaluokkien toimesta.
Kuten yllä olevassa esimerkissä, luokka B, C ja D perivät saman luokan A.
5. Hybridiperintö:
Hybridiperintö on yksi perinnöllisistä tyypeistä Java joka on yhden ja moninkertaisen perinnön yhdistelmä.
Kuten yllä olevassa esimerkissä, kaikki A-luokan julkiset ja suojatut jäsenet peritään luokkaan D, ensin luokan B kautta ja toiseksi luokan C kautta.
Huomautus: Java ei tue hybridi/moniperintöä
Perintö sisään Java esimerkki
Tässä on esimerkki perinnöllisyydestä Java:
class Doctor { void Doctor_Details() { System.out.println("Doctor Details..."); } } class Surgeon extends Doctor { void Surgeon_Details() { System.out.println("Surgen Detail..."); } } public class Hospital { public static void main(String args[]) { Surgeon s = new Surgeon(); s.Doctor_Details(); s.Surgeon_Details(); } }
Super avainsana
Super-avainsana on samanlainen kuin "tämä" avainsana. Avainsanalla super voidaan käyttää mitä tahansa pääluokan datajäsentä tai menetelmiä. Super-avainsanaa voidaan käyttää osoitteessa muuttuja, menetelmä ja rakentajataso.
Syntaksi:
super.<method-name>();
Tarkista myös: - tämä avainsana Java: Mikä on ja kuinka sitä käytetään esimerkin kanssa
Opi periytymistä OOP:issa esimerkin avulla
Harkitse samaa pankkisovellusta edellinen esimerkki.
Meidän on tarkoitus avata kaksi erilaista tilityyppiä, yksi säästämistä ja toinen tarkistusta varten (tunnetaan myös nimellä nykyinen).
Verrataan ja tutkitaan kuinka voimme lähestyä koodausta a jäsennelty ja olio-ohjelmointinäkökulma.
Rakenteellinen lähestymistapa: Rakenteisessa ohjelmoinnissa luomme kaksi funktiota –
- Yksi vetäytyä
- Ja toinen talletustoimintaa varten.
Koska näiden toimintojen toiminta pysyy samana kaikissa tileissä.
OOP:n lähestymistapa: Kun käytät Oho ohjelmointi lähestymistapaa. Luomme kaksi luokkaa.
- Jokaisella on talletus- ja nostotoimintojen toteuttaminen.
- Tämä aiheuttaa ylimääräistä työtä.
Muutospyyntö ohjelmistossa
Nyt ohjelmistoalalla niin yleisen vaatimuksen määrittelyssä on tapahtunut muutos. Sinun pitäisi lisätä toiminnallinen etuoikeutettu pankkitili tilinylitysmahdollisuudella. Taustaa varten tilinylitys on ominaisuus, jossa voit nostaa enemmän kuin tilisi saldoa.
Rakenteellinen lähestymistapa: Käyttäen toiminnallista lähestymistapaa, minun on muutettava vetäytymistoimintoani, joka on jo testattu ja perusteltu. Ja lisää alla olevan kaltainen menetelmä huolehtii uusista vaatimuksista.
OOP:n lähestymistapa: OOP:n lähestymistapaa käyttämällä sinun tarvitsee vain kirjoittaa uusi luokka ainutlaatuisella vetäytymisfunktion toteutuksella. Emme koskaan koskeneet testattuun koodiin.
Toinen muutospyyntö
Entä jos vaatimus muuttuu edelleen? Haluan lisätä luottokorttitilin, jolla on oma ainutlaatuinen talletusvaatimus.
Rakenteellinen lähestymistapa: Rakenteellista lähestymistapaa käyttämällä sinun on vaihdettava testattu talletuskoodi uudelleen.
OOP:n lähestymistapa: Mutta olio-ohjelmointia käytettäessä luot vain uuden luokan, jossa on sen ainutlaatuinen talletusmetodin toteutus (korostettu punaisella alla olevassa kuvassa). Joten vaikka rakenteellinen ohjelmointi vaikuttaa aluksi helpolta lähestymistavalta, olio-ohjelmointi voittaa pitkällä aikavälillä.
Perinnön edut OOP:issa
Mutta voidaan väittää, että kaikissa luokissa sinulla on toistuvia koodinpätkiä.
Voit voittaa tämän luomalla yläluokan, sanomalla "tili" ja toteuttamalla saman talletus- ja kotiutustoiminnon. Ja tee lapsiluokista peritty "tililuokka". Jotta heillä on pääsy tililuokassa nosto- ja talletustoimintoihin. Toimintoja ei tarvitse toteuttaa yksittäin. Tämä on Periytys javassa. .











