Klassipõhine objektorienteeritud programmeerimine

Klassipõhine objektorienteeritud programmeerimine ehk klassipõhine programmeerimine on objektorienteeritud programmeerimise (OOP) stiil, kus pärimine käib klasside kaudu, mitte objektide enda kaudu (prototüübipõhine programmeerimine).

Kõige populaarsem ja arenenum OOP mudel on klassipõhine mudel, kus objektidel on olek (andmed), käitumismudel (meetodid, operatsioonid) ja identiteet (unikaalsed omadused, mis eristavad seda teistest objektidest). Objekti struktuuri ja käitumismudeli määrab klass. Objekti loomine käib klassipõhiselt, seega on iga objekt vastava klassi eksemplar.

Kapseldamine muuda

Kapseldamine piirab kasutaja ligipääsu teatud objekti osadele, et kaitsta koodi juhuslike vigade eest. Samuti võimaldab see teha koodis muudatusi programmi liigselt muutmata. Kapseldamine ei piirdu vaid objektorienteeritud programmeerimiskeeltega. Definitsiooni järgi keskendub kapseldamine vajaliku info grupeerimisele, kuid mitte turvaprobleemidele. Tavaliselt puuduvad OOP keeltes objektidele ranged turvapiirangud ning eksisteerivad meetodid peidetud andmetele ligi pääsemiseks. Nende meetoditega on võimalik objekti väärtusi muuta ja välja kutsuda.

Pärimine muuda

Klassipõhises programmeerimises käib pärimine ühe klassi laiendamise läbi teise klassi: olemasolev klass on ülemklass ning uus klass on alamklass. Iga alamklass pärib kõik ülemklassi omadused ja lisab neile iseenda unikaalsed omadused.[1] Kui alamklassil on vaid üks ülemklass, on tegemist ühekordse pärimisega. Kui aga alamklassil on mitu ülemklassi, kutsutakse seda mitmekordseks pärimiseks. Seega tekib klasside hierarhia, ühekordse pärimise puhul puu ning mitmekordse pärimise puhul võre.

Pärimise põhiomaduseks on nii liidese kui ka implementatsiooni pärimine. Pärimist on võimalik teostada ka klassideta, nagu tehakse prototüübipõhises programmeerimises.

Näidiskeeled muuda

Kuigi Simula pani alguse koodi klassideks jaotamisele, on esimeseks tuntumaks klassipõhise programmeerimiskeele näiteks Smalltalk. Klassipõhiste keelte hulka kuuluvad veel PHP, C++, Java, C# ja Objective-C.

Vaata ka muuda

Viited muuda

  1. Targo Tennisberg. "Objekt-orienteeritud süsteemianalüüs ja selle metoodikad". Vaadatud 10. juuni 2015.

Välislingid muuda