Sigurno se pite što su to klase, a što objekti. Zamislite da pravite računalnu igru. U vašoj igri postoje različiti likovi. Svaki od njih ima različite sposobnosti, neki mogu letjeti, neki imaju više energije... U klasama ili razredima definiramo likove koje kasnije možemo pozivati u programu.Svaki lik je jedan objekt, a objkte kasnije možemo mijenjati kako želimo.
Koja je svrha klasa? Recimo da pišete program koji sadrži nekoliko stotina tisuča redova koda. U tom programu neki dijelovi se ponavljaju više puta. Može se dogoditi da algoritam za sortiranje koristimo i više od trideset puta. Lako ga možemo kopirati, ali što ako nešto promjenimo, onda tu promjenu moramo raditi i više od trideset puta. Tada nam se pogrške lako potkradu i nije ih lako pronaći. Ako algoritam za sortiranje napišemo u klasi kasnije ga samo pozovemo naredbom i ako ga moramo mijenjati promjenimo ga na jednom mjestu i promjenjen je u cijelom algoritmu.
Prednosti klasa su te što se pomoću njih program može podijeliti na više manjih cjelina i na više programera. Svaki programer onda piše manju cjelinu, može ju prije napisati i lakše će pronaći pogrešku. Kasnije te klase i objekte posložimo kao slagalicu i naš program je kraći, lakši za mijenjanje i lakše se pronlae pogreške.
Želimo li danas sutra pisati programe koji će se umjesto u crnom prozoru odvijati u windows prozoru( imati će gumbe i tome slično) apsolutno je nužno razumjevanje klasa i objekata.