这段代码是封装的一个例子吗?

时间:2011-07-10 16:24:36

标签: c#

我创建私有方法,使用不同的输入数据,它的工作方式不同。

private void SetSelectedRouters(bool isSelected)
{
    for (int i = 0; i < m_listPlatforms.Count; i++)
    {
             m_listPlatforms[i].IsCheked = isSelected;
    }
}

创建公共交互方法。

public void SelectedAllRouters()
{
    SetSelectedRouters(true);
}
public void SelectedNoneRouters()
{
    SetSelectedRouters(false);
}

我认为这是封装,还是不同的名称?

3 个答案:

答案 0 :(得分:3)

我会说它是更多的代码重用,在两个方法中提取常用功能,以便这些方法变得微不足道,只需调用一个常用方法。

(顺便说一句,我建议您使用foreach进一步提高可读性。)

答案 1 :(得分:2)

这不是封装。这是一个extracted method。该方法中的所有代码都彼此相关,其目的在其名称中清楚地描述。这也称为helper method

答案 2 :(得分:1)

维基百科声称:

在编程语言中,封装用于指代两个相关但不同的概念之一,有时用于组合[1] [2]:

1。用于限制对某些对象组件的访问的语言机制。

2。一种语言结构,有助于将数据与对该数据进行操作的方法(或其他功能)捆绑在一起。

所以对我来说似乎是(通过观察第二点)