Sadržaj
U Objektno orijentirano programiranje, objekti su apstraktni prikazi elemenata koje definiramo kroz njihove atribute i koji imaju niz metoda koje nam omogućuju manipulaciju i pristup tim atributima.postoje 3 značajke koji nam daju razlog da koristimo vlastite objekte umjesto da ovisimo o funkcijama, knjižnicama i globalima koje nam jezik stavlja na raspolaganje, a to su:
- Polimorfizam: korištenje istih operacija na različitim objektima različitih klasa.
- Inkapsulacija: sakriti svoje atribute od entiteta izvan objekta kako bi ih mogao zaštititi.
- Nasljeđivanje- Stvoriti specifičnije objekte koji nasljeđuju osnovne atribute i metode općenitije više klase.
Ovaj izraz znači da ima mnogo oblika, to znači da možemo izvesti operacije koje će raditi drugačije ovisno o vrsti ili klasi objekta. Uzmimo jednostavan primjer, zamislimo da imamo košaricu za kupnju, zatim definiramo kako želimo da se dobiju podaci o cijeni i željeni proizvod, kao što na sljedećoj slici vidimo da stvaramo tuple.
Ovaj sastoji se u skrivanju unutarnjih detalja klase od vanjskog svijeta, tako da joj se može pristupiti samo putem njezinih vlastitih objekata i metoda, na taj način možemo raditi s klasama bez poznavanja njihovog unutarnjeg rada, eliminirajući složenost implementacije i štiteći logiku unutar naših objekata.
Također nam dopušta raditi sa uvjerenjem da se podaci unutar našeg objekta neće promijeniti, jer ako rade na apstraktan način, moći ćemo instancirati više puta, a svaka je instanca potpuno individualna.
Pogledajmo primjer objekta koji nije inkapsuliran:
Sada s enkapsulacijom, pogledajmo kako bi cijeli tijek programa funkcionirao.