U prethodnim razredima učenici su već radili sa strukturama u programskom jeziku C. Struktura je bila zgodan način da se više različitih podataka (na primer broj, tekst i logička vrednost) spoji u jednu celinu. Tako se moglo napraviti nešto poput lične karte – u jednoj strukturi smo imali ime, prezime, godinu rođenja i slično. Struktura je, dakle, skup podataka koji su logički povezani.

Međutim, kada prelazimo na objektno orijentisano programiranje, uvodimo novi pojam – klasa i objekat. Na prvi pogled, klasa liči na strukturu, jer i ona može da sadrži više različitih podataka. Ali razlika je u tome što klasa pored podataka sadrži i ponašanja. Drugim rečima, klasa nije samo kutija u kojoj se nalaze informacije, već i uputstvo šta te informacije mogu da rade.

Analogija iz svakodnevnog života

Možemo razliku da posmatramo kroz primer automobila:

  • Struktura je kao tehnički list automobila u kojem piše marka, model, boja, snaga motora. Tu su samo podaci.

  • Klasa je kao cela „ideja“ automobila. Ona ne opisuje samo njegove osobine (boja, model, snaga), već i to šta automobil može da radi – da se pokrene, zaustavi, zatrubi, upali svetla.

  • Objekat je jedan konkretan automobil na parkingu. Ako klasa predstavlja „šablon“ ili „recept“ za automobile, onda objekat predstavlja jedan primerak napravljen po tom šablonu.

Dakle:

  • Struktura = statičan skup podataka.

  • Klasa = plan koji obuhvata i podatke i ponašanja.

  • Objekat = stvarni „primerak“ klase, nešto što zauzima prostor u memoriji i što „živi“ dok program radi.

Razlika u memoriji

Važno je da učenici shvate kako se ovo odražava na memoriju računara.

Kada napravimo strukturu, računar jednostavno rezerviše prostor u memoriji dovoljan da stanu svi podaci unutar nje. Na primer, ako struktura sadrži broj i tekst, zauzeće tačno onoliko memorije koliko je potrebno za broj i tekst. Ništa više od toga.

Kod objekta je malo drugačije. Kada napravimo objekat klase, računar rezerviše prostor u memoriji ne samo za podatke (osobine), već i za informacije koje opisuju kako taj objekat može da se ponaša (metode). To znači da objekat u memoriji zauzima više nego struktura, ali zato ima i mnogo veću moć – on ne samo da „pamti“, već i „zna šta može da radi“.

Još jedna analogija – recept i kolač

  • Struktura je kao papir na kojem piše lista sastojaka: brašno, šećer, jaja. Samo podaci, bez objašnjenja šta da radimo sa njima.

  • Klasa je recept: ona sadrži i spisak sastojaka (podatke) i korake kako od njih napraviti kolač (ponašanja).

  • Objekat je gotov kolač napravljen po tom receptu – stvaran, opipljiv i smešten na stolu.

Zašto nam je ovo važno?

Razumevanje razlike između strukture i klase pomaže učenicima da shvate zašto je objektno orijentisano programiranje moćnije. Strukture su dobre kada nam trebaju samo podaci, ali kada želimo da ti podaci umeju nešto da rade, da imaju svoje funkcije i pravila, onda koristimo klase i objekte.


Kratka pitanja za samoproveru

  1. Kako biste objasnili razliku između strukture i klase nekom prijatelju koji ne zna ništa o programiranju?

  2. Koja je razlika između klase i objekta?

  3. Kada se u memoriji pravi prostor za objekat, šta se sve u njega smešta osim podataka?

  4. Koja vam se analogija više sviđa – automobil ili recept i kolač? Zašto?


...

Last modified: Friday, 5 September 2025, 5:37 AM