Die Verwendung von online dictionary tools hilft nicht wirklich. Ich denke, die Art und Weise, wie der Begriff Encapsulate in der Informatik verwendet wird, entspricht nicht genau seiner Bedeutung im einfachen Englisch.Was ist das Antonym der Verkapselung?
Was ist das Antonym der Computer Science-Version von Encaspulate? Genauer gesagt, was ist ein Antonym zum Einkapseln, das als Funktionsname funktionieren würde.
Warum sollte mich das interessieren? Hier ist meine Motivation:
// 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);
}
Zuerst müssen Sie die Frage beantworten: _what_ ist gekapselt? Wenn Sie dann etwas Bestimmtes sagen, dann können Sie die Operation umkehren, indem Sie sie zum Beispiel öffentlich machen oder zugänglich machen. –