Strukture i klase
4. Klase i objekti
Kod objektno orijentiranog programiranja (OOP) težište je projektiranju aplikacije kao skupa objekata koji izmjenjuju poruke.
OOP se temelji na klasama.
Klase su korisnički definirani tipovi podataka koji grupiraju povezane informacije.
Klase sadrže članske varijable koje mogu biti različitih tipova, te mogu sadržavati metode (funkcije klase) što strukture nisu mogle.
Defaultna vidljivost im je private, a mogu biti i public i protected, nazivamo ih i modifikatorima vidljivosti.
Instance klase su varijable tipa klase, odnosno zovemo ih još i objektima.
Objekt (engl. object) je naziv za skup svojstava koja možemo objediniti u smislenu cjelinu.
Pravila koja propisuju od čega je pojedini objekt sagrađen te kakva su njegova svojstva nazivaju se klasama.
Klasa je samo opis, dok je objekt stvarna, konkretna realizacija napravljena na temelju klase.

Kada je klasa jednom definirana, može se pomoću nje konstruirati neograničen broj objekata koji se zatim mogu koristiti.
U programu je objekt opisan varijablama koje mu određuju stanje i funkcijama koje mu određuju ponašanje.
Funkcije mijenjaju stanje objekta, a po potrebi mogu stvarati i nove objekte.
Za pristup članovima preko objekata i referenci koristi se operator . (točka), a u slučaju pristupa preko pokazivača operator -> (minus i veće od).
Funkcije objekta mogu pristupati svim članskim varijablama i funkcijama. Klijenti mogu vidjeti samo javne članske varijable i funkcije.