JavaPython:Objektid
Java vs Python |
|
Objektorienteeritud programmeerimine
Nii Java kui Python on objekt-orienteeritud keeled. Kuna aga, erinevalt Pythonist, ei saa Java programmidega töötamisel seda fakti eirata, siis siinkohal tutvustame lühidalt seda mõistet. Objektorienteeritud programmeerimine (lühidalt OOP) on programmeerimise paradigma, mis kasutab rakenduste ehitamisel ja disainil andmeväljadest ning meetoditest koosnevaid andmestruktuure - objekte. Kõik OOP stiilis kirjutatud koosnevad programmid klassidest, objektidest ning nende vahel defineeritud seostest:
Klass | Määrab ära mingi objektide hulga abstraktsed karakteristikud. Klassid on näiteks Sõiduauto ja Veoauto. |
Alamklass | Vajadusel võib kasutada ka alamklasse, mis jagavad mingisse klassi kuuluvad objektid veelkord ära – alamklassidesse. Iga Javas defineeritud klass on vaikimisi klassi Object vahetu alamklass. Klassi Sõiduauto alamklassideks sobivad näiteks Sedaan ja Maastur. |
Isend | Isend on mingi klassi eksemplar. Isendiks võib olla näiteks IsaUusAuto. |
Meetod | Meetod on mingi tegevus, mida objekt oskab teha. Meetodid võivad tuleneda (pärineda) ka ülemklassist, kuhu objekt kuulub. Sõiduauto klassist võib näiteks tuleneda meetod signaal(), Maasturi klass võib lisada sellele veel tegevusi, mida need autod suudavad (näiteks lülitaNelikvedu() jne.)
Sisuliselt on objektorienteeritud programmeerimise üks eesmärke lihtsustada programmide kirjutamist, pakkudes programmeerijale võimalust täpsemalt kujutada reaalses elus esinevaid olukordi programmeerimiskeele abil. Sellise lähenemise näiteks on internetipoed, kus kliendid valivad ostukorvi tooteid. Siin on objektid nii klient, toode kui ka ostukorv, omades igaüks vastavalt kliendile, tootele ja ostukorvile omast informatsiooni. Meetodid siinkohal on näiteks toodete ostukorvi lisamine, eemaldamine ja tehingu sooritamine. |