Klassipõhine objektorienteeritud programmeerimine

From Wikipedia, the free encyclopedia

Remove ads

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.

Remove ads

Kapseldamine

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.

Remove ads

Pärimine

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.

Remove ads

Näidiskeeled

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

Viited

Välislingid

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads