Klassi ja objekti erinevus

Klass vs objekt

Objektorienteeritud programmeerimine ehk OOP on väga populaarne programmeerimisstiil tänu oma võimele käsitleda keerukamaid rakendusi, millel on palju rohkem koodi. Seda seetõttu, et see korraldab andmed objektideks, mis on võrreldavad reaalse elu objektidega. Klass ja objekt on kaks terminit, mida tavaliselt kasutatakse OOP-is. Kõige elementaarsemal kujul on objektid klasside realiseerimine.

Objektide kasutamiseks programmis peate deklareerima klassi omadused ja protseduurid. Selle paremaks visualiseerimiseks arutame seda näite abil. Kui soovite luua sõidukitega seotud programmi, peate looma sõidukite klassi. Klassis loote muutujad, mis hoiavad sõidukite kohta olulist teavet. Tüüpilised on sellised väärtused nagu reisijate läbilaskevõime, tippkiirus ja kütusemaht, nagu ka protseduurid nagu start ja stop. Pärast sõidukiklassi loomist saate nüüd oma rakenduses luua objekte, mis põhinevad sõidukiklassil. Saate luua sõidukitel põhineva objekti, mille nimi on auto või mootorratas. Seejärel saate objekti kohta asjakohase teabe täita ja kasutada seda nii, nagu teie taotlus sobib.

Nagu juba arvasite ülaltoodud näitest, salvestatakse teave, mida te rakenduses tõesti kasutate, objekti ja mitte klassi. Klass määratleb ainult andmete struktuuri ja selle, mida iga protseduur või funktsioon teeb.

Klasside veel üks suurepärane omadus on võime pärida omadused ja protseduurid teiselt klassilt. Klasse, mis pärivad teiste klasside omadused, nimetatakse alaklassideks. See lühendab teise klassi määratlemiseks vajalikku tööd. Kui soovite määratleda autodele omase klassi, võite lihtsalt pärida sõidukiklassi omadused ja protseduurid, kuna kõik autod on sõidukid ja neil on samad omadused. Sama ei tehta objektide puhul, kuna objekti andmete globaalseks pärimiseks pole tegelikult praktilist kasutamist. Programmeerijate põhipraktika on alamklassi loomine ja objekti alamklassist loomine.

Kokkuvõte:

1. Objekt on klassi eksemplar.

2. Defineerite kõik klassi omadused ja funktsioonid, samal ajal kui kasutate neid objektis.

3. Klassid ei oma mingit teavet, samal ajal kui objekt seda teeb.

4. Saate luua alamklasse, kuid mitte alamobjekte.