Razlika između objektno orijentisanog i proceduralnog programiranja? Ako neko zna da pojasni jednostavnim rečima.
Razlika između objektno orijentisanog i proceduralnog programiranja?
Zaključano
Zakačeno
Najočiglednija razlika je u toku podataka.
U proceduralnom prsitupu proceduri moraš da daš podatke koja obrađuje.
U objektom, objekat to jest sam podatak sadrži i metode kojima se obrađuje.
Primer:
proceduralno: Obradi(podatak);
objektno: Podatak.ObradiSe();
U proceduralnom prsitupu proceduri moraš da daš podatke koja obrađuje.
U objektom, objekat to jest sam podatak sadrži i metode kojima se obrađuje.
Primer:
proceduralno: Obradi(podatak);
objektno: Podatak.ObradiSe();
OOP teži da odvoji ŠTA od KAKO.
OOP ima nekoliko važnih koncepata, i svaki od njih bi se pojedinačno mogao komentarisati:
// sa vikipedije
* Apstrakcija i skrivanje informacija
* Enkapsulacija
* Modularnost
* Polimorfizam
* Veze između klasa i nasljeđivanje
Kompletnu sliku možeš dobiti tek kada izvesno vreme provedeš čitajući osnove OOP-a, što je obično uvod u neki OOP programski jezika, recimo C++. Na žalost, jako je malo knjiga koje daju "plastičan" uvod, već se od prvog trenutka krene teškom artiljerijom po čitaocu, valjda je stramota nacrtati PRIVATE ulaz u neku zgradu da se dočaraju detalji, ili MODLICE za kolače. (A bilo je nekad i takvih knjiga: "Borland C++ Tehnike programiranja" od Kaare Christian).
Jedan od detalja možeš pročitati ovde, tek toliko da ti zagolica maštu:
http://www.elitesecurity.org/t241153
OOP ima nekoliko važnih koncepata, i svaki od njih bi se pojedinačno mogao komentarisati:
// sa vikipedije
* Apstrakcija i skrivanje informacija
* Enkapsulacija
* Modularnost
* Polimorfizam
* Veze između klasa i nasljeđivanje
Kompletnu sliku možeš dobiti tek kada izvesno vreme provedeš čitajući osnove OOP-a, što je obično uvod u neki OOP programski jezika, recimo C++. Na žalost, jako je malo knjiga koje daju "plastičan" uvod, već se od prvog trenutka krene teškom artiljerijom po čitaocu, valjda je stramota nacrtati PRIVATE ulaz u neku zgradu da se dočaraju detalji, ili MODLICE za kolače. (A bilo je nekad i takvih knjiga: "Borland C++ Tehnike programiranja" od Kaare Christian).
Jedan od detalja možeš pročitati ovde, tek toliko da ti zagolica maštu:
http://www.elitesecurity.org/t241153
Ja mislim da je ova tema definitivno za forum "Art of Programming".
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Setih se i jednog odlomka Dragana Milićeva, koji govori baš o tome:
http://www.mikroknjiga.rs/Knjige/CPPM/01_CPPM.pdf
http://www.mikroknjiga.rs/Knjige/CPPM/01_CPPM.pdf
OO kod je onaj kod kojeg imate veoma malo (tezi se 0) podataka koji se razmenjuju izmedju objekata.
Dakle sto manje parametara u procedurama, preko kojih bi se podaci razmenjivali.
Napomena: poziv procedure/metode nije razmena podataka izmedju objekata!
Link: http://www.elitesecurity.org/t399183-1#2595935
Dakle sto manje parametara u procedurama, preko kojih bi se podaci razmenjivali.
Napomena: poziv procedure/metode nije razmena podataka izmedju objekata!
Link: http://www.elitesecurity.org/t399183-1#2595935
Jednostavno. Auto ima boju, gume, sedista, volan itd. Mozes da ga vozis, da usporis, da ubrzas, da ukocis itd. Sve se to spakuje u jednu klasu zvanu auto ili jugo, kako god. Recimo u klasi mozes imati STRING Boja, FUNKCIJU pokreni() i ostale funkcije i varijable. I onda je sve logicno. Kada hoces da ukocis, samo pozoves funkciju:
auto.ukoci();
Ili da promenis boju:
auto.boja="plava".
Ima tu jos toga za objasniti. Ovo je u najkracem.
auto.ukoci();
Ili da promenis boju:
auto.boja="plava".
Ima tu jos toga za objasniti. Ovo je u najkracem.