Razlika između verzija stranice "Objektno orijentirano programiranje"

[pregledana izmjena][nepregledana izmjena]
Uklonjeni sadržaj Dodani sadržaj
m +{{Nedostaju izvori}}
Izmijenjeno ime primjera.
Red 11:
* '''[[Zatvorenost]]''' ([[Engleski jezik|en.]] ''encapsulation'') je koncept po kojem je informacija u klasi zaštićena od direktnog pristupa i jedini način da se promjeni informacija je kroz utemeljene metode. Tako npr. ako napravimo metodu <code>ideNaPosao()</code>, kojom Mujo ide na posao biciklom, onda kad on kupi auto i ide autom na posao, ta promjena je skrivena unutar metode koja samo prikaže rezultat (tj. da je na putu na posao a ne čime ide).
* '''[[Nasljedstvo (računari)|Nasljedstvo]]''' ([[Engleski jezik|en.]] ''inheritance'') je koncept po kojem se može definisati klasna hijerarhija, tj. obiteljska loza klase gdje jedna klasa može da proširi (''extend'') drugu klasu. Tako u našem primjeru možemo definisati klasu ''Muškarac'' koja proširuje klasu ''Osoba'' i definiše novu metodu <code>preselioNaAhiret()</code>, te klasu ''Ženu'' koja također proširuje klasu ''Osoba'' ali ima metodu <code>preselilaNaAhiret()</code>. I ''Muškarac'' i ''Žena'' nasljeđuju činjenike ime, spol i godište, te metodu, tj. ponašanje umri() (i muškarci i žene umiru) ali se samo objekat muškarca <code>preselioNaAhiret()</code> dok se žena <code>preselilaNaAhiret()</code>.
* '''[[Računarska apstrakcija|Apstrakcija]]''' ([[Engleski jezik|en.]] ''abstraction'') je pojednostavljivanje karakteristika objekta, gdje se zanemaruju detalji i uzimaju se samo zajedničke karakteristike klase. Npr. MujoMarko TokićObradović je ćelav ali ta karakteristika nije opisana ni u klasi ''Osoba'' ni u klasi ''Muškarac''.
* '''[[Polimorfizam]]''' ([[Engleski jezik|en.]] ''polymorphism'') je karakteristika klase čije ponašanje se mijenja ovisno o implementaciji. Tako u našem primjeru, metoda <code>sahrana()</code> može biti implementirana kao ''ukopavanje'', ''kremiranje'' ili ''mumifikacija''.