Encapsulation (computer programming): Difference between revisions

Content deleted Content added
Line 15:
Almost always, there is a way to override such protection &ndash; usually via reflection API (Ruby, Java, C#, etc.), sometimes by mechanism like name mangling ([[Python (programming language)|Python]]), or special keyword usage like <code>friend</code> in C++.
 
== General Definitiondefinition ==
 
In general, Encapsulationencapsulation is one of the 4 fundamentals of OOP (Objectobject-oriented Oriented Programmingprogramming). Encapsulation is to hide the variables or something inside a class, preventing unauthorized parties to use. So the public methods like getter and setter access it and the other classes call these methods for accessing.
 
This mechanism is not unique to object-oriented programming. Implementations of [[abstract data types]], e.g. [[module (programming)|modules]], offer a similar form of encapsulation. This similarity stems from the fact that both notions rely on the same mathematical fundament of an [[existential type]].<ref>Pierce (2002), Section 24.2 "Data Abstraction with Existentials"</ref>