Sunteți pe pagina 1din 4

PROGRAMIRANJE C++ Klase (razredi) i objekti

Šta to jezik C++ čini posebnim i istaknutim ?

Mogućnost kreiranja vlastitih (korisnički kreriranih) klasa ili razreda čini ga posebnim, a s ovim se
uvodi i koncept objektnog programiranja.

Kako prepoznati klase?

Klase su temelj objektno orijentiranog pristupa programiranju. Ideja OBJEKATA zasnovana je na


principu kako funkcioniše stvarni svijet, a ako bi malo detaljnije analizirali stvari oko nas, shvatit
ćemo da možemo sve posmatrati i jednostavno modelirati pomoću objekata. (Ford auto - jedan
objekat, monitor - objekat...). U ovom slučaju kada imamo Ford kao objekat, njegova klasa bi bila
Automobili (jer Ford pripada automobilima a ne voću, također Mercedes je objekat klase
Automobili).

A U T O M O B I L I ----> KLASA

OBJEKAT FORD OBJEKAT MERCEDES

Klasu u C++ ćemo definisati na sljedeći način:

class Automobili{

//...........

}; // Veoma bitno je staviti tačku zarez (;) na kraju vitičastih zagrada


void main()

Automobili Ford; // Jedan objekat tipa klase Automobili,a objekat se


zove Ford
Automobili Mercedes; // Jedan objekat tipa klase Automobili,a
objekat se //zove Mercedes

OBJEKT je skup svojstava (vještina,osobina) koja


možemo objediniti u smislenu cijelnu.
(Ako je objekat Mercedes, on ima svojstvo da se može pokrećati na ključ itd...).

Kako ćemo znati koja su svojstva jednog objekta i od čega je on sagrađen(boja, visina,
širina, naziv objekta...) ?

Ova pravila se propisuju KLASOM, ona nam govori


koja svojstva ima taj objekat i od čega je sagrađen.

Svaki objekt ima javni interfejs ili sučelje (public interface)


kojim se definiše njegova saradnja sa okolinom. Način na koji se reprezentacija objekta ostvaruje
jest implementacija tog objekta.

Šta to znači?

Ako je Ford naš objekat, vlasniku tog auta je javno dozvoljeno da ga vozi, mijenja boju, mijenja
unutrašnjost, sipa gorivo itd... To je korisnički interfejs ilipublic interefejs koji
korisnik ili vlasnik auta može da koristi i to mu je dozvoljeno...

Ali... implementacija auta, tj. motor, način na koji funkcioniše motor V5,
mijenjanje raznih dijelova, održavanje, korištena tehnologija kao i kako je to sve napravljeno
vlasniku nije poznato.

IMPLEMENTACIJA je najčešće skrivena od okoline kako bi se sačuvala konzistentnost


objekta.

KONZISTENTNOST - postojanost, čvrstina


1. ENKAPSULACIJA - je jedan od bitnih
elemenata objektno orijentiranog programiranja.

Enkapsulaciju dobijemo kada spojimo (objedinimo)


PUBLIC INTERFEJS I IMPLEMENTACIJU.

Objašnjenje:
Ako imamo objekat Ford (auto), on mora da ima u sebi neki KORISNIČKI INTERFEJS tj. da
je od nečega sagrađen (boja plava, felge crne....) i da ima neka svojstva (ispravan je i može
se upaliti, koristimo volan kako bi okretali gume...) i to je sve dozvoljeno korisniku. A ako
naš motor u autu je ispravvan i dobro radi, kao i svi ostali dijelovi, naša IMPLEMENTACIJA
automobila je super i korisnik ga može voziti.

Kad spojimo boju našeg auta + da je ispravan i u


voznom stanju dobili smo ENKAPSULACIJU.

2.NASLJEĐIVANJE - drugi bitan


element OOP
Šta to znači nasljeđivanje u C++, a povezano je također sa stvarnim svijetom?

Imamo klasu Automobili i ona sadrži neke osnovne osobine svakog automobila: boja, visina,
dužina auta... E sad zamislimo da imamo i klasu AutmobiliMotor i dodajemo jos neke osobine
automobila ali koje su vezane samo za naš motor..

Ovaj postupak kojim se izvodi NOVA KLASA (AutomobiliMotor) se zove NASLJEĐIVANJE.

Na ovaj način smo izveli hijerarhiju klase, gdje u korijenu imamo Automobili, a kasnije smo
napravili još jednu klasu (izveli iz korijena) koja se zove AutomobiliMotor.

3. POLIMORFIZAM- treći bitan element


OOP
Tri bitna elementa OOP su:
enkapsulacija, nasljeđivanje,
polimorifizam.