Mis on kaitstud pärand?

Arvutiteaduse valdkond kasutab programmeerimist probleemidele lahenduste loomiseks. C++ on arvutiteaduses kasutatav programmeerimiskeel, mis kasutab reaalse maailma modelleerimiseks objektorientatsiooni. Objektorienteeritud programmeerimises luuakse klassid, et pakkuda raamistikku objektimudelitele, mida programmi käitamise ajal kasutatakse. Klassid luuakse sageli struktureeritud hierarhias, kus esmalt luuakse üldisemad vanemklassid, seejärel kasutatakse neid üksikasjalikumate lasteklasside alusena. Kaitstud pärand võimaldab järglastel klassidel täielikku ja otsest juurdepääsu eelkäijaliikmete üksustele, mis on kaudselt päritud järglaste klassidesse.

Objektorientatsiooni üks suuremaid eeliseid on see, et struktuuri või klassi loomisel saab klassi andmeid ja funktsionaalsust teiste programmeerimisstruktuuride ja funktsioonide eest peita, kui juurdepääs pole vajalik. C++ puhul saavutatakse see juurdepääsu modifikaatorite abil. Kui programmeerija soovib keelata juurdepääsu klassi sisemisele teabele ja funktsioonidele väljastpoolt klassi, kasutatakse märksõna “privaatne”, kuid klassidevaheline juurdepääs klassidevahelistele liikmetele on alati lubatud. Juurdepääsu piiramiseks ainult järeltulijate klassidele, nagu kaitstud pärandi puhul, kasutatakse märksõna “kaitstud”. Märksõna “avalik” võimaldab täielikku juurdepääsu liikmete muutujatele ja funktsioonidele.

Tarkvaras pärimise eeliseks on see, et see võimaldab juba loodud programmeerimiskoodi kaudselt uuesti kasutada. Alamklassi loomisel saavad kõik eelkäijaklasside liikmemuutujad ja funktsioonid automaatselt alamklassi osaks. Programmeerija ei pea neid uuesti kodeerima. See on suur eelis, kui on vaja suuri klasside hierarhiaid. Selle näiteks võib olla olukord, kus bioloogilise taksonoomia mudeli üksused tuleb tarkvaras replitseerida.

Privaatne pärimine toimub siis, kui eelkäijaklassid on määranud oma liikmeelemendid privaatseks. Lastel, kes neid muutujaid ja funktsioone kaudselt saavad, ei ole neile otsest ja vahetut juurdepääsu, säilitades nii vanema ja lapse teatud tunnused. Kaitstud pärimise korral, kui vanem kuulutab elemendi kaitstuks, päritakse muutujad või funktsioonid ja laps pääseb neile juurde, kuid teised klassid mitte. Avalik pärand võimaldab lapsel vanema funktsioone integreerida ja nendega manipuleerida. See võimaldab ka teistel struktuuridel juurdepääsu alamliikmetele.

Kaitstud pärand on C++ programmeerimises oluline mõiste. See aitab määratleda piirangud, mille alusel programm töötab. Lühidalt kirjutatud ja hästi läbimõeldud programmid, mis kasutavad pärimist, aitavad vähendada rakendusvigu, aitavad tõrkeotsingul ja annavad kontrollitud paindlikkuse standardsetele objektorienteeritud teabe peitmise ja kapseldamise põhimõtetele.