Enkapsulacija (programiranje)

S Wikipedije, slobodne enciklopedije
Idi na navigaciju Idi na pretragu

U objektno orijentiranom programiranju, enkapsulacija ili čahurenje označava grupisanje podataka sa metodama koje radi s tim podacima, ili restrikciju direktnog pristupa nekim komponentama objekta.[1] Enkapsulacijaa se koristi za skrivanje vrijednosti ili stanja struktuiranog podatkovnog objekta unutar klase, sprečavajući direktan pristup njima od strane klijenta u smislu otkrivanja detalja skrivene implementacije ili narušavanja stanja nepromjenjivosti koju održavaju druge metode.

Javno dostupne metode se generalno daju u klasi za pristup ili izmjenu stanja na apstraktniji način. U praksi se ponekad zadaju tzv. getteri i setteri za pristup vrijednostima indirektno, ali, iako ne neophodno krše apstraktnu enkapsulaciju, često se smatraju putokazom potencijalno slabe dizajnerske prakse u objektno orijentiranom programiranju[2] (antiobrazac).

Ovaj mehanizam nije unikatan samo za OOP. Implementacije apstraktnih tipova podataka, npr. modula, nudi sličan oblik enkapsulacije. Sličnost je objašnjena od teoretičara programskih jezika u terminima egzistencijalnih tipova.[3]

Reference[uredi | uredi izvor]

  1. ^ Rogers, Wm. Paul (18 maj 2001). "Encapsulation is not information hiding". JavaWorld. Pristupljeno 20. 7. 2020.
  2. ^ Holub, Allen (September 5, 2003). "Why Getter and Setter methods are evil". Info World. JavaWorld. Pristupljeno January 17, 2021.
  3. ^ Script error: The function "harvard_citation_no_bracket" does not exist.