Енкапсулација (објектно-оријентисано програмирање)

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

У програмским језицима, енкапсулација се односи на један од два повезана али различита појма, а понекад и на њихову комбинацију[1][2]:

  • Механизам језика за забрану приступа неким од компоненти објекта.[3][4]
  • Конструкт језика који олакшава груписање података и метода (или других функција) које оперишу на тим подацима.[5][6]

Неки теоретичари програмских језика користе прво значење само или у комбинацији са другим као једно од основних својстава објектно оријентисаног програмирања, док се код неких програмских језика који омогућавају лексичка затворења енкапсулација посматра као особина језика, ортогонална оријентацији објекта.

Друга дефиниција је мотивисана чињеницом да у многим ООП језицима сакривање компоненти није аутоматско и може бити премошћено, стога они који преферирају другу дефиницију сакривање информација дефинишу као засебан појам.

Референце[уреди]

  1. ^ Michael Lee Scott, Programming language pragmatics, Edition 2, Morgan Kaufmann. 2006. ISBN 978-0-12-633951-2. стр. 481.: „Механизми енкапсулације омогућавају програмеру да групише податке и субрутине које над њима оперишу на једном месту, и да сакрије ирелевантне детаље од корисника апстракције.“
  2. ^ Nell B. Dale, Chip Weems, Programming and problem solving with Java, Edition 2. Jones & Bartlett Publishers.2007. ISBN 978-0-7637-3402-2. стр. 396.
  3. ^ Mitchell 2003, стр. 522.
  4. ^ Pierce, Benjamin (2002). Types and Programming Languages. MIT Press. стр. 266. ISBN 978-0-262-16209-8. 
  5. ^ Wm. Paul Rogers (18. 5. 2001). „Encapsulation is not information hiding”. JavaWorld.com. 
  6. ^ Connolly, Thomas M.; Begg, Carolyn E. (2005). „25, "Introduction to Object DMBS", section "Object-oriented concepts”. Database systems: a practical approach to design, implementation, and management (4th изд.). Pearson Education. стр. 814. ISBN 978-0-321-21025-8. 

Литература[уреди]

  • Pierce, Benjamin (2002). Types and Programming Languages. MIT Press. стр. 266. ISBN 978-0-262-16209-8. 
  • Mitchell, John C. (2003). Concepts in programming languages. Cambridge University Press. стр. 522. ISBN 978-0-521-78098-8. 

Спољашње везе[уреди]