L'utilizzo di online dictionary tools non è di grande aiuto. Penso che il modo in cui l'incapsulamento è usato nell'informatica non corrisponda esattamente al suo significato in inglese.Qual è il contrario di incapsulamento?
Qual è il contrario della versione di enciclopedia informatica? Più specificamente, cos'è un antonimo per incapsulare che funzionerebbe come un nome di funzione.
Perché dovrei preoccuparmi? Ecco le mie motivazioni:
// 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);
}
Per prima cosa è necessario rispondere alla domanda: _che cos'è incapsulato? Quindi se dici qualcosa di specifico, puoi invertire l'operazione, diciamo, rendendola pubblica o accessibile, che è qualcosa come pubblicarla. –