Что такое антоним инкапсуляции?

Использование инструментов онлайн-словарей действительно не помогает. Я думаю, что способ инкапсуляции в информатике не соответствует действительности. t в точности соответствует его значению на простом английском языке.

Какой антоним инкаспулировать в версии информатики? В частности, какой антоним для инкапсуляции будет работать как имя функции.


Почему меня это должно волновать? Вот моя мотивация:

// 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(&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 );
}

10
задан Bill the Lizard 19 August 2012 в 16:07
поделиться