Usar online dictionary tools realmente no ayuda. Creo que la forma en que se encapsula el uso en ciencias de la computación no coincide exactamente con su significado en inglés sencillo.¿Cuál es el antónimo de encapsulación?
¿Cuál es el antónimo de la versión informática de encaspulate? Más específicamente, ¿qué es un antónimo para encapsular que funcionaría como un nombre de función?
¿Por qué debería importarme? Aquí está mi motivación:
// A class with a private member variable;
class Private
{
public:
// Test will be able to access Private's private members;
class Test;
private:
int i;
}
// Make Test exactly like Private
class Private::Test : public Private
{
public:
// Make Private's copy of i available publicly in Test
using Private::i;
};
// A convenience function to quickly break encapsulation on a class to be tested.
// I don't have good name for what it does
Private::Test& foo(Private& p)
{ return *reinterpret_cast<Private::Test*>(&p); } // power cast
void unit_test()
{
Private p;
// using the function quickly grab access to p's internals.
// obviously it would be evil to use this anywhere except in unit tests.
assert(foo(p).i == 42);
}
Primero debe responder la pregunta: _what_ está encapsulado? Luego, si dice algo específico, puede revertir la operación, por ejemplo, haciéndola pública o accesible, que es como publicarla. –