Mantojums ir viens no galvenajiem programmēšanas jēdzieniem objektorientēts. Ļauj klasei mantot citas klases rekvizītus un metodes.
Vienkāršs mantojums
Vienkārša mantošana ir tad, kad klase manto tikai rekvizītus un metodes no vecākklases. Iedomājieties, ka jums ir vecāku klase ar nosaukumu “Dzīvnieks” un bērnu klase ar nosaukumu “Suns”. Klase "Suns" pārmantotu klases "Dzīvnieks" metodes un īpašības, piemēram, "ēst", "gulēt", "elpot", cita starpā.
Daudzkārtējs mantojums
Vairākkārtēja mantošana ir tad, kad klase pārmanto rekvizītus un metodes no vairāk nekā vienas vecākklases. Citiem vārdiem sakot, bērnu klasē var būt vairākas vecāku klases. Šāda veida mantošana ir iespējama dažās programmēšanas valodās, piemēram, C++, bet ne citās, piemēram, Java.
Kāpēc visās programmēšanas valodās nav atļauta vairākkārtēja mantošana?
Vairāku mantojumu dēļ var rasties neskaidrības. Citiem vārdiem sakot, ja divām vecākklasēm ir metodes vai rekvizīti ar tādu pašu nosaukumu, var nebūt skaidrs, kuru no šīm metodēm vai rekvizītiem izmantot pakārtotajai klasei. Šī iemesla dēļ dažas programmēšanas valodas nepieļauj daudzkārtēju pārmantošanu.
Programmēšanas valodu saraksts, kas atbalsta vairāku mantojumu:
- C++
- Python
- Rubīns
Programmēšanas valodu saraksts, kuras NEatbalsta vairākkārtēju pārmantošanu:
- Java
- C#
- PHP
Visbeidzot, vienkārša mantošana un daudzkārtēja mantošana ir divi galvenie jēdzieni objektorientētā programmēšanā. Vienkārša mantošana nozīmē, ka pakārtotā klase var mantot tikai vienas vecākklases rekvizītus un metodes, savukārt vairākkārtēja mantošana nozīmē, ka pakārtotā klase var mantot rekvizītus un metodes no vairāk nekā vienas vecākklases. Ir svarīgi atzīmēt, ka ne visas programmēšanas valodas pieļauj daudzkārtēju pārmantošanu iespējamo metožu un īpašību neskaidrības dēļ.
Pārliecinieties, ka saprotat atšķirību starp šiem diviem objektorientētās programmēšanas galvenajiem jēdzieniem!
Es esmu Sebastians Vidals, datoru inženieris, kurš aizraujas ar tehnoloģijām un DIY. Turklāt es esmu radītājs tecnobits.com, kur es dalos ar pamācībām, lai padarītu tehnoloģijas pieejamākas un saprotamākas ikvienam.