Razred (ang. class) je načrt oziroma recept za izdelavo objektov. To je del kode, ki v programu definira:
Ko gradimo oziroma izdelujemo objektno usmerjeno aplikacijo najprej ugotovimo, katere različne tipe entitet v aplikaciji potrebujemo. Običajno v knjižnicah nimamo na voljo vseh ustreznih. Zato ustvarimo enega ali več razredov, ki predstavljajo manjkajoče tipe entitet. Če na primer izdelujemo spletni forum, potem bomo zelo verjetno ustvarili razrede, imenovane Forum
, Tema
, Objava
in Oseba
. Predstavljamo si lahko, da z razredom ustvarimo nov podatkovni tip.
Objekt (ang. object) je posebna vrsta spremenljivke, ki je izdelana oziroma ustvarjena iz razreda. Vsebuje dejanske podatke in vedenje o tem, katere so funkcije objekta, ki jih lahko pokličemo, da nekaj naredijo s podatki objekta. Iz enega razreda lahko ustvarimo poljubno mnogo objektov te vrste. Vsak objekt deluje neodvisno od drugih, čeprav vsi izvirajo iz istega razreda.
Če uporabimo primer iz resničnega življenja:
Ker objekt izdelamo iz razreda, pogosto rečemo, da je objekt primerek (ang. instance) razreda.
Vrednosti podatkov, ki jih vsebuje objekt, so shranjene v posebnih spremenljivkah, ki jih imenujemo lastnosti (ang. properties). Lastnosti objekta so tesno povezane s samim objektom. Čeprav imajo vsi objekti, ki jih ustvarimo iz danega razreda, iste lastnosti, se vrednosti teh lastnosti med posameznimi objekti razlikujejo.
Funkcije, ki so definirane znotraj razreda – in uporabljene v objektu – imenujemo metode (ang. methods). V veliko pogledih so to kot običajne funkcije – lahko jim posredujemo vrednosti, lahko vsebujejo lokalne spremenljivke in lahko vračajo vrednosti. Vendar metode objekta tipično uporabljamo za delo z lastnostmi objekta.
Na primer metoda prijava()
, ki jo uporabimo, da prijavimo člana v spletni forum, nastavi članovo lastnost prijavljen
na resnično oziroma True
. Podobno bo metoda obseg()
v razredu Pravokotnik
iz podatkov o pravokotniku izračunala in vrnila njegov obseg.
Metode se od funkcij razlikujejo tudi po tem, da vedno »vedo«, nad katerim objektom jih izvajamo.