You are on page 1of 11

Object oriented programming

Dragana Damjanovi 21/15

Sadraj:

1. Uvod..............................................................................................1
Object oriented programming

2. Jednostavna klasa...............................................................................2
2.1 Objekti......................................................................................2
2.2 Klase........................................................................................2
2.3 Nasljeivanje..............................................................................2
3. Jednostavan C++ program....................................................................3
4. Elementi objektnog programiranja..........................................................3
4.1 Varijable....................................................................................3
4.2 Konstante...................................................................................4
4.3 Komentari..................................................................................5
5. Tipovi podataka.................................................................................6
6. Operatori.........................................................................................7
7. Zakljuak.........................................................................................8
Object oriented programming

1. Uvod

Objektno orijentisano programiranje (Object Oriented Programming, OOP) je


pristup realizaciji softvera kao objekat za realni svijet. U objektnim programskim
sistemima sve je predstavljeno kao objekat (procesi, tekst, U/Ioperacije itd.).Objektno
programiranje zapravo najslinije pisanju simulacija za realne objekte. Programi sa
kojima se programeri najee susreu prilikom objektno orijentisanog programiranja
su Java i C++.
Jezik C++ nije "isti" objektno orijentisani programski jezik (Object-Oriented
Programming Language, OOPL) koji bi korisnika "natjerao" da ga koristi na objektno
orijentisani (OO) nain. C++ moe da se koristi i kao "malo bolji C", ali se time nita
ne dobija (ak se i gubi). C++ treba koristiti kao sretstvo za OOP i kao pomagalo za
razmiljanje.1
Klasa je osnovna jedinica programiranja u Javi. Klase obezbjeuju strukturu
objekata, kao i mehanizme za proizvodnju objekata, na osnovu datih definicija u klasi.
Klase definiu metode, skupove izvrnog koda, koje izraunavaju podatke i njima
upravljaju unutar objekta. One obezbjeuju ponaanje objekata klase. Objektno
orijentisano programiranje razdvaja pojmove ta se radi i kako se radi.

Klasa sadri:
- polja (definiu stanje svakog objekta klase struktura podataka, podaci)
- metode (operacije, funkcije koje sadre izvrni kod i definiu ponaanje
objekta)
- mehanizme za stvaranje objekata na osnovu definicije (konstruktori)

Ovakva kombinacija metoda, podataka i pravila pisanja koda se opisuje kao


ugovor izmeu projektanata klase i programera koji je koristi, poto opisuje ta se
deava kada odreena pozvana metoda djeluje na objekat. Ovaj ugovor definie tip,
tako da se podrazumijeva da e ga potovati svi objekti koji predstavljaju primjerke
tog tipa.
Kada posmatramo objekat, pitanje kako je definisano njegovom klasom, koja
definie implementaciju metoda koje je objekat sposoban da izvri. Svaki objekat je
primjerak klase. Kada pozvana metoda djeluje na objekat, ispituje se klasa, u potrazi
za kodom metode koji je potrebno da se izvri.

1 Dr Dragan Milievi Objektno orijentisano programiranje u realnom vremenu na jeziku


C++, str. 4

1
Object oriented programming

2. Jednostavna klasa

U kasnim 60-tim, softverski ininjeri su zakljuili da je mogua kombinacija


tehnologija izrade softvera i napretka u programskim jezicima. Rezultat toga u
programskim jezicima je bila klasa (engl. class)
Formalni programski koncept objektnog programiranja je predstavljen
sredinom 60-tih godina sa Simula 67, velikom nadogradnjom Simule 1, a programski
jezik je dezajniran kao diskretni simulator dogaaja.2
Klasa omoguava naslijeivanje (engl. inheritance). Koncept naslijeivanja je
vezan je sa mogunou korienja ve postojeeg koda, klasa i strukturama podataka
u klasama. Klasa je programskim jezicima napravila revoluciju.
SMALLTALK je jezik koji je popularizovao koncept objektno orijentisanog
programiranja, razvijen poetkom 70-ih godina. Dizajniran je u svrhu obrazovanja u
istraivakoj grupi Xerox PARC od strane Alana Keja3. Ipak C++ prolazi kao glavni i
dominanti objektno orijentisani programski jezik.
2.1 Objekti

Osnova modela objektno orijentisanog jezika je objekat. Objekat je u


svakodnevnom svijetu definisan kao neto sa granicama. Objekat objedinjava
podatke (engl. properties) i funkcijske lanove ili metode. Metode omoguavaju
objektu da provodi svoje ponaanje. Objekat izvrava jednu od svojih metoda od
nareenja programera. Nareenje kae ta objekat treba napraviti, dok metoda kae
kako to treba napraviti.
2.2 Klase

Objektno orijentisani jezici opisuju objekte pomou klasa. Klasa je opis slinih
objekata. Klasa definie objekte i metode individualnih objekata. Programski jezici
trebaju omoguiti kreiranje objekata iz njihovih klasa. Klasa mora omoguiti
rukovanje memorijom, alokaciju i dealokaciju memorijskog prostora objekta,
oslobaajui programera tog zahtijeva. Vano je da klasa postane strukturni entitet za
sve programe. Opis klase djeluje kao modul, koji omoguava podjelu programa u
manje djelove.
2.3 Nasljeivanje

2 https://en.wikipedia.org/wiki/Object-oriented_programming#History

3 https://en.wikipedia.org/wiki/Smalltalk

2
Object oriented programming

Naslijeivanje je vrlo vana karakteristika objektno orijentisanog


programiranja. Predstavlja mogunost izvoenja novih klasa iz postojeih umjesto
izrade iz poetka, to omoguava poveanje produktivnosti.

3. Jednostavan C++ program

#include <iostream.h>
int main(){

cout << Hello World! \n;


return 0;
}

Ovo je jednostavni program u C++-u koji na ekranu ispisuje tekst Hello World.
Iako jednostavan u njemu moe se vidjeti nekoliko zanimljivih detalja:
- Simbol # predstavlja signal pretprocesoru. On ita izvorni kod traei linije
koje poinju karakterom #. Nakon to se datoteka uita, naredba se zamijeni
sadrajem datoteke.
- Program poinje sa ulaskom u funkciju main(). Svaki C++ program sadri
ovu funkciju. Funkcija main() se automatski poziva prilikom starta
programa. Ona ima svoje ulazne i izlazne parametre. U ovom sluaju nema
ulaznih parametara(tipa je void). Svi programi koji podravaju ANSI standard
zalae da main funkcija mora imati povratni parametar tipa int. Tijelo funkcije
main nalazi se unutar zagrada { i }
- Objekat cout koristi se za ispis poruke na ekran. Operator << zove se
operator redirekcije. Sve to dolazi iza njega ispisuje se na ekranu. Posljednja
dva karaktera \n kazuju cout objektu da ubaci novi red prilikom ispisa na
ekran.
- Svaka naredba unutar funkcije, kao i u C jeziku zavrava se sa znakom ;

4. Elementi objektnog programiranja

4.1 Varijable

U sluaju kada elimo sami napisati funkciju, moramo paziti da nam se ime
varijable ne poklapa sa nekom od kljunih rijei C++, jer bi u tom sluaju kompajler
pomijeao sa standardnim kljunim rijeima. Jedne od tih kljunih rijei su:

3
Object oriented programming

bool, break, case, catch, char, class, continue, default, delete, do, double, , else, ,
export, extern, false, float, for, goto, if, int, namespace, operator, private, protected,
public, register, return, short, signed, struct, switch, this, true, try, typeid, union,
unsigned, using, virtual, void, volatile, wchar_t, while.

Treba ujedno paziti da su objektni programski jezici case sensitive, te da


RESULT varijabla nije isto to i result varijabla ili Result varijabla. To su 3
razliite varijable.

Deklarisanje varijabli:

Kako bismo koristili varijablu u npr. C++, moramo je prvo deklarisati koji e
tip podataka biti. Sintaksa za deklarisanje nove varijable je pisanje specifinih tipova
podataka ( npr. Int, bool, float...) nakon ega slijedi ispravno ime identifikatora. Npr.:

Int a
Float mojbroj;

Ovo su dvije ispravne deklaracije varijable. Prva deklarira varijablu tipa int sa
indetifikatorom a, druga deklarie varijablu tipa float sa indetifikatorom mojbroj.
Kada se varijabla i mojbroj deklariu, mogu se koristiti kasnijem programu.

4.2 Konstante

Doslovne konstante:

Doslovne konstante izraavaju odreenu vrijednost unutar source koda


programa. Npr., kada napiemo: a=5,5 u ovom dijelu koda predstavlja doslovnu
konstantu. Doslovne konstante mogu biti podijeljene u brojne integer, stringove i
booleanove vrijednosti.

Definisane konstante (#define):

Moemo sami definisati imena za konstante koje esto koristimo bez da


pozivamo neke biblioteke. Jednostavno koristei #define predprocesorsku naredbu.
Sintaksa je:

#define ime vrijednosti


Npr.
#define PI 3.14159265

Jednom kada su konstante definisane, moemo ih koristiti u ostatku koda.

Deklarisanje konstante (const):

Sa prefiksom const moemo deklarisati konstantu sa specifinim tipom na isti


nain kao to radimo sa varijablom. Npr.:

4
Object oriented programming

const int bodovi =290; 4

4.3 Komentari

Prilikom pisanja programa oigledno je ta koja linija koda radi. Ali nakon
nekoliko mjeseci taj isti kod je vrlo teko razumjeti. Osim toga na kod e moda neko
drugi koristiti ili odravati. Zbog toga unutar programa stavljamo komentare. Oni se
zanemaruju od strane programa, a mogu pomoi onome ko to ita, opisati ta odreeni
dio koda radi.
Postoje dvije vrste komentara u :
- Linijski komentari(engl. double slash)
- Standardni C-style komentari (engl. star slash)
Linijski komentari oznaavaju se sa // i kazuju programu da je sve to je
napisano sledee do kraja jeste komentar te da taj dio zanemari prilikom kompajliranja
programa.
Star slash komentari poinju sa /* i kazuju programu da zanemari sve
karaktere dok ne doe do */.
Svaka funkcija takoe treba imati komentare opisujui ta radi, koje vrijednosti
prima i koje vraa. Svaki izvod koji je nejasan treba biti sa komentarom. Ipak ne treba
pretjerivati sa komentarima. Ono to je samo po sebi jasno ne treba objanjavati.
komentar treba opisivati zato se neto dogaa u kodu, a ne kako se dogaa.

(Slika 1.) Primjer dva razliita naina upisa komentara

4 Jessy Libarty C++ Nauite za 21 dan , lanak 3. Promenjive i konstante

5
Object oriented programming

5. Tipovi podataka

Kad programiramo, spremamo varijable u memoriju kompjutera, ali kompjuter


mora znati ta mi elimo spremiti u memoriju, kada nee zauzeti jednaki dio memorije
spremanja jednostavnog broja ili nekog veeg, a i nee biti jednako interpretiran.
Memorija je u kompjuterima organizirana u bitovima. Bajt je najmanja koliina
memorije koju moemo koristiti u programskim jezicima. Bajt moe smjestiti
relativno mali broj podataka: jedno slovo ili mali integer. Dodatno, kompjuter moe
raditi sa sloenim tipovima podataka nastalih grupisanjem vie bitova.

Tipovi podataka u C++ su:

- char
- short int
- int
- long int
- bool
- float
- double
- long double
- wchar_t

6
Object oriented programming

(Slika 2.) Veliina i domet svih tipova podataka


5

6. Operatori

Sada kada znamo varijable i konstante, moemo poeti raditi sa njima. Za tu


namjeru, C++ koristi operatore. Za razliku od drugih jezika iji su operatori esto
kljune rijei, operatori u C++ su veinom znakovi koji nisu dio alfabeta nego su
dostupni na svim tastaturama. Ovo ini C++ kod kraim i vie razumljiv, jer trai
manje Engleskih rijei, ali zato trai malo vie truda u poetku.

Operator dodjeljivanja (=)

Operator dodjeljivanja dodjeljuje vrijednost nekoj varijabli. Npr: a=5:


U ovom sluaju varijabli a je dodana vrijednost 5.

Aritmetiki operatori (+ , -, *, %, /)

5 aritmetikih operacija je podrano u C++, A one su:


+ sabiranje, - oduzimanje ,* mnoenje / dijeljenje, % modul

Spojeni operatori (+=, -=, *=, /=...)

Kada elimo promijeniti vrijednost varijable izvodei operaciju vrijednosti trenutno


spremljene u memoriji, moemo korisiti spojene operatore. Npr:Vrijednost *=
poveanje ; nam je jednako sa vrijednost = vrijednost + poveanje ;
A =5; nam je jednako sa a 5 :

Poveanje i smanjenje (++ , - -)

Skraivanje nekih izraza, operator poveanja (++) i operator smanjenja (--),


poveavaju ili smanjuju za 1 vrijednost u varijabli.

Logiki operatori ( ! , &&, ) Logike se funkcije zapisuju logikim operatorima.

5 https://www.tutorialspoint.com/cplusplus/cpp_data_types.htm

7
Object oriented programming

(Slika 3.) Logiki operatori

7. Zakljuak

Ovim je radom prikazan jedan, od vie naina izrade objekta u jednom od


mnogih programskih jezika. Zbog malog broja listova, nije bilo mogue staviti sve one
djelove to ini objektno programiranje zanimljivim (if petlje, for petlje, stringove,
matrice, viedimenzionalna polja, pointere, nizove, rekurzije), tako da je stavljeno ono
to je smatrano najosnovnije. Prednost usvajanja objektno orijentisanog pristupa je
viestruka budui da omoguava postizanje viih nivoa projektovanih rjeenja. Ono
omoguava viestruku upotrebu koda u istim ili slinim projektima i prua olakanu
nadogradnju aplikacije novim mogunostima. Bez ovih mogunosti svijet
programiranja ne bi bio ovoliko funkcionalan kao to danas jeste.

8
Object oriented programming

Literatura:

1. Dr Dragan Milievi Objektno orijentisano programiranje u realnom vremenu na


jeziku C++
2. Jesse Libarty C++ Nauite za 21 dan
3. https://hr.wikipedia.org/wiki/Objektno_orijentirano_programiranje
4. https://sr.wikipedia.org/wiki/C%2B%2B
5. https://en.wikipedia.org/wiki/Object-oriented_programming#History
6. https://en.wikipedia.org/wiki/Smalltalk
7. https://www.tutorialspoint.com/cplusplus/cpp_data_types.htm

Kljune rijei:

- Programiranje
- C++
- Java
- Klasa
- Podaci
- Objekti
- Program
- Softver

You might also like