封装的反义词是什么?

时间:2010-11-11 18:00:05

标签: oop unit-testing terminology encapsulation

使用online dictionary tools并没有多大帮助。我认为封装的方式在计算机科学中的使用并不完全符合它在普通英语中的含义。

计算机科学版本的反义词是什么?更具体地说,封装的反义词是什么,可以用作函数名。


我为什么要关心?这是我的动力:

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

8 个答案:

答案 0 :(得分:20)

反义词是“C”。

好的,开玩笑吧。 (排序。)

我能提出的最好的条款是“暴露”和“违反”。

答案 1 :(得分:9)

封装背后的目的是隐藏/覆盖/保护。反义词将显示/公开/公开。

答案 2 :(得分:4)

解封装怎么样..

虽然它不是计算机科学术语,但在医学科学中,手术切除胶囊或包膜[

答案 3 :(得分:3)

“删除/打破封装”是我见过的最接近的事情,老实说。

如果你想到英语意义上的这个词,就要把封装的东西包含在内。但是在CS意义上,有这种保护级别的概念,看起来你想暗示规避访问级别,所以像“提取”这样的东西并没有真正传达你正在寻找的含义。

但是,如果您只是根据访问级别来考虑它,看起来您正在制作公开的内容,那么“宣传”怎么样?

答案 4 :(得分:3)

这不是一个简单的问题 - 斯科特迈耶斯有一篇有趣的文章来展示封装here的一些细微差别。

  

我将从妙语开始:如果   你正在写一个可以的功能   作为成员或作为成员实施   非朋友非会员,你应该   更愿意将其作为非成员实施   功能。那个决定增加了   类封装。你想的时候   封装,你应该想   非会员职能。

答案 5 :(得分:2)

“坏主意”怎么样?

答案 6 :(得分:1)

“封装”的真正反义词是“全球状态”。

答案 7 :(得分:0)

“意大利面条”怎么样?