Osnovni principi objektno orijentisanog programiranja

To su:

  • enkapsulacija,
  • apstrakcija,
  • nasleđivanje i
  • polimorfizam.

Enkapsulacija

Enkapsulacija ili učaurivanje podrazumeva da su svojstva i i metode objekta i klase sakriveni unutar njega i da može da im se pristupi samo određenim metodama koje definišemo kao javne. Prednost u odnosnu na prethodno proceduralno programiranje, je da su svi srodni podaci (svojstva objekta), kao i metode (funkcije koje koriste te podatke) grupisani unutar jedne klase. Tako je svaka promena svojstva ili metoda mnogo lakša, jer sve što je njome afektovano nalazi se unutar iste klase. Druga prednost enkapsulacije je što su sva svojstva, metoda i način njihove implementacije sakriveni. Pristupa im se samo pomoću određenih javnih metoda, koje sami definišemo. Na primer, možemo da pozovemo metodu koja nešto računa, ali ne možemo da vidimo kako će ona to da računa. Takođe, programer sam definiše kako određene metode i svojstva mogu da se promene.

Apstrakcija

Apstrakcija pojednostavljuje pisanje koda. Nešto možemo da koristimo bez da znamo kako je to implemetirano.
Na primer, možemo da koristimo apstraktne strukture podataka (liste, rečnike itd..), možemo da ih sačuvamo u neki fajl, bez da znamo kako kako su implementirani. Ili možemo da pozovemo neki metod ne znajući kako je on konstruisan.

Nasleđivanje

Nasleđivanjem omogućavamo da klasa ili objekat nasledi atribute i metode druge klase. Tako programer može da pravi slične objekte bez da svaki put ponovo definiše iste stvari. Možemo da napravimo hijerarhiju klasa, gde imamo jednu super klasu koja je iznad svih drugih podklasa. Svaka podklasa može da ima i svoju podklasu, ali ono što je bitno je da svaka podklasa nasleđuje ima iste osobine kao i klasa iznad nje, ali ima i neke jedinstvene karakteristike.

Polimorfizam

Naziv potiče od grčke reči koja znači više oblika. Povezana sa nasleđivanjem. Metode koje nasleđujemo od roditeljske klase možemo da pregazimo (to jest definišemo sasvim drugu implementaciju) ili da ih promenimo (promenimo način vraćanja, broj parametara itd).

Pogledaj još

Poznati alati za etičko hakovanje

Već smo govorili o etičkim hakerima , a danas vas upoznajemo sa nekim od alata …