Is there a generally accepted term for the opposite of "encapsulate", as in to enclose something? If I encapsulate something, and then later take it out, is it "decapsulate"? "unencapsulate"? something else?

If it matters, the context is computer science.

5 Answers 5


The correct word is “decapsulate”, like the pair “encode” and “decode”, but we are so used to reversing things with “un-“ or “de-“ that the words “un-encapsulate” and “de-encapsulate” are also commonly used.


If you're writing in the context of computer science I think "expose" or "provide access to" might be a useful. Neither is per se the opposite of encapsulation, but if I was writing about doing the opposite of encapsulation, I'd probably use one of those.

In a sentence: When you encapsulate data, state and behaviour you then expose and provide access to some of that data/state/behaviour via accessor methods (getter/setter) or some sort of API.


A Google search for the three candidate terms shows "deencapsulate" or "de-encapsulate" used in computer science.
The term "de-encapsulate" is sometimes glossed as "extracted".

Examples of "deencapsulate"/"de-encapsulate" at Google books:

Google books "deencapusulate"

The word "decapsulate" is used to refer to the repair of encapsulated electronic components. "Unencapsulated" seems to be used to describe the condition of not having been encapsulated, rather than the result of removing something from encapsulation.


Disclaimer: I'm not a programming expert.

Encapsulate as it's used in programming means to take various disparate data items and corral them into a unit that is treated as one unit, or always in reference to the root unit.

Objects encapsulate data items (or members) which can consist of:

  • primitives (such as int's, pointers to int's, pointers to char's, etc.)

  • or other objects

So ...

  • To un-encapsulate an object might mean you'd re-instantiate each data item as its own instance and no longer associate it with the object type. If you are doing this you have some weird type of cast going on or are doing something like accessing the object through a C-style union that lets you get at the members. This is probably not common enough to give it a distinct name.

  • Or, you might do something weird like define a derived class, inherit the base object, and null out various methods or variables on the dervied object. This is probably not common enough to give it a distinct name. It might not even really be possible without hacks.

If you mean building a new object with different constitutents, un-encapsulate would be the word.

If you are talking about things that don't respect the boundaries of an encapsulation or abstraction/object model, you can say those actions break encapsulation or break the model.

  • If un-encapsulate is right, how come I can't find it? Seems to me that reveal or unhide is better.
    – Lambie
    Commented Sep 2, 2020 at 23:43

encapsulation is: Encapsulation is one of the fundamental concepts in object-oriented programming (OOP). It describes the idea of bundling data and methods that work on that data within one unit, e.g., a class in Java.

revealing, unrestricting data and methods

reveal or unhide

hide data and methods, reveal data and methods


also restricting and unrestricting


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .