- Perinnön ominaispiirteet
- hierarkia
- polymorfismi
- Perintötyypit
- Ainutlaatuinen perintö
- Monitasoinen perintö
- Hierarkkinen perintö
- Hybridiperintö
- Monta perintöä
- Perintötyypit perusluokasta
- Julkinen perintö
- Suojattu perintö
- Yksityinen perintö
- esimerkit
- Python-esimerkki
- Esimerkki C ++: ssa
- Viitteet
Perintöä esine - ohjelmointikieli on tapa järjestää esineitä hierarkian yleisestä erityiseen. Se on gadget, jota käytetään luokan laajentamiseen toiseen luokkaan, säilyttäen vastaavan suorituksen.
Useimmissa luokkaperusteisissa objektiorientoiduissa perinnöillä luodussa objektissa, jota kutsutaan lapsiobjektiksi, saadaan kaikki vanhemman objektin ominaisuudet ja käyttäytyminen.

Yksinkertainen todistus perinnöstä esineiden suunnassa. Lähde: Pluke / CC0 Creative Commons CC0 1.0 Universal Public Domain
Siksi se on laatu, joka edustaa suhdetta eri luokkien välillä. Perintö sallii luokan käyttäytyä samalla tavalla kuin toinen luokka ja laajentaa tai mukauttaa käyttäytymistä tarjoamaan erityistoimenpide erityistarpeita varten.
Perintö voi auttaa edustamaan esineitä, joilla on joitain eroja ja joitain samankaltaisuuksia työskentelytavoissaan. Voit laittaa kaikki objektien yhteiset toiminnot perusluokkaan ja määrittää sitten yhden tai useamman alaluokan omilla mukautetuilla toiminnoillasi.
Perinnön ominaispiirteet
Perintö on yksi olio-ohjelmoinnin avainominaisuuksia, jota käytetään määrittelemään uusi luokka olemassa olevista luokista.
Eli uusia luokkia voidaan johtaa olemassa olevista perusluokista lisäämällä uusia ominaisuuksia. Sinun ei tarvitse kirjoittaa tyhjästä. Siksi perintö tarjoaa tavan käyttää olemassa olevaa koodia helposti uudelleen.
Jos sinulla on jo luokka, joka tekee melkein kaiken mitä haluat, voit luoda alaluokan, jossa osa sen käytöstä ohitetaan osittain tai mahdollisesti lisätään joitain uusia toimintoja.
Johdettu luokka perii kaikki perusluokan menetelmät lukuun ottamatta seuraavia:
- Perusluokan rakentajat, rakentajat ja kopiorakentajat.
- Operaattorit ylikuormittuneet perusluokasta.
- Perusluokan ystävälliset toiminnot.
hierarkia
Kuten sukupuu, perintö muodostaa luokkahierarkian. On tärkeää huomata, että perusluokalle määritetyt määritteet esiintyvät automaattisesti johdetussa luokassa. Perusluokan menetelmät toimivat myös johdannaisiin.
Luokan sanotaan olevan sen luokan alaluokka, jonka se perii. Toisaalta, tämä luokka on sinun superluokkasi. Yleisimmälle luokalle voidaan viitata perusluokana, koska se on hierarkian ytimessä.
polymorfismi
Perintö on erittäin suosittua joillakin staattisen tyyppisillä kielillä, koska sen avulla ohjelmoija voi välttää joitain staattisen tyypin rajoituksista.
Objektia, joka perii toiselta objektilta, pidetään kyseisen objektin alatyyppinä. Esimerkki voisi olla esineet "ohjaaja" ja "opiskelija", joista jokainen perii "henkilö".
Jos ohjaaja ja opiskelija ovat samaa henkilötyyppiä, voit kirjoittaa toiminnon, joka hyväksyy henkilötyypin parametrina ja joka toimii ohjaaja- ja opiskelijaobjekteissa, koska molemmat ovat henkilön perillisiä.
Perintötyypit
Ainutlaatuinen perintö
Kun johdettu luokka perii yhden perusluokan ominaisuudet ja käyttäytymisen. Eli yksi luokka ulottuu vain yhteen toiseen luokkaan.
Monitasoinen perintö
Viittaa laitteeseen, josta voit periä johdetusta luokasta, jolloin tästä johdetusta luokasta tulee uuden luokan perusluokka. Eli se syntyy, kun johdettu luokka luodaan toisesta johdetusta luokasta.
Hierarkkinen perintö
Tässä perinnössä monet alaluokat perivät yhdestä luokasta. Eli niin tapahtuu, kun yksi perusluokka perii useamman kuin yhden johdetun luokan.
Hybridiperintö
Se on tuloksena oleva perintö, kun jokin kolmesta aiemmasta perinnöstä yhdistetään (yksi, hierarkkinen ja monitasoinen).
Monta perintöä
Se vastaa perintöä, kun luokka perii useammasta kuin yhdestä superluokasta. Tämän tyyppisen perinnön haittana on, että johdetun luokan on käsiteltävä riippuvuutta, joka sillä on kahdesta perusluokasta.
Toisaalta tämäntyyppinen perintö antaa ohjelmoijille mahdollisuuden rakentaa luokkia, joissa yhdistyvät useiden luokkien näkökohdat ja niitä vastaavat hierarkiat.
Perintötyypit perusluokasta
Julkinen perintö
Kun luokka johdetaan julkisesta perusluokasta, perusluokan julkisista jäsenistä tulee johdetun luokan julkisia jäseniä ja perusluokan suojatuista jäsenistä tulee johdetun luokan suojattuja jäseniä.
Yläluokan yksityiset jäsenet eivät koskaan pääse suoraan johdetusta luokasta, mutta niihin pääsee puheluilla yleisölle ja suojatuille perusluokan jäsenille.
Suojattu perintö
Kun luodaan luokka, joka perii suojatulta superluokalta, sekä tämän superluokan julkisista että suojatuista jäsenistä tulee johdetun luokan suojattuja jäseniä.
Yksityinen perintö
Kun alaluokka luodaan yksityisestä yliluokasta, tämän yliluokan julkisista ja suojatuista jäsenistä tulee alaluokan yksityisiä jäseniä.
esimerkit
Python-esimerkki
Osoitamme robotit tai paremman robottiluokan Python-ohjelmointikielellä osoittaaksesi kuinka perintöperiaate toimii. Tätä varten määritetään luokka nimeltä RobotMédico (PhysicianRobot), joka on johdettu Robotin superluokasta.

Jos tarkastelet RobotMédico-luokan koodia, voit nähdä, että tässä luokassa ei ole määritetty attribuuttia tai menetelmää.
Koska RobotMedico-luokka on robotin alaluokka, se perii tässä tapauksessa sekä __init__- että say_hi-menetelmät. Näiden menetelmien periminen tarkoittaa, että niitä voidaan käyttää ikään kuin ne olisi määritelty RobotMédico-luokassa.
Kun RobotMedico-esimerkki luodaan, __init__-funktio luo myös nimimääritteen. Say_hi-menetelmää voidaan soveltaa RobotMédicon objektiin “y”, kuten voidaan nähdä edellisen koodin tuloksesta.
Esimerkki C ++: ssa
Luokka voi periä useammasta kuin yhdestä luokasta, mikä tarkoittaa, että se voi periä tietoja ja toimintoja useilta superluokilta. Voit määrittää johdetun luokan määrittämällä perusluokat luokkajohdannaisluettelolla.
C ++ -luokan johdannaisluettelo nimeää yhden tai useamman perusklassin ja on seuraavassa muodossa: luokan johdettu luokka: käyttöoikeusspesifikaattorin perusluokka, jossa käyttöoikeusspesifikaattori on julkinen, suojattu tai yksityinen ja kantaluokka on aiemmin määritellyn luokan nimi. Jos käyttöoikeusspesifikaattoria ei käytetä, yksityinen otetaan oletuksena.
Superluokkaa "Shape" ja siitä johdettua luokkaa "suorakulmio" voidaan pitää seuraavasti:

Kun yllä oleva koodi kootaan ja suoritetaan, tapahtuu seuraava tulos: "Kokonaisalue: 35".
Viitteet
- Dave Braunschweig (2020). Perintö ja polymorfismi. Rebus-yhteisö. Otettu: press.rebus.community.
- Python-kurssi (2020). Perintönä. Ostettu: python-course.eu.
- Data-mentori (2020). R Perintö. Otettu: datamentor.io.
- Opintopiste (2020). C ++ -perintö. Otettu: tutorialspoint.com.
- Verkkotiedot (2020). Eri tyypit perinnöllisyydestä. Otettu: net-informations.com.
