2011-07-10 60 views
0

我創建私有方法,使用不同的輸入數據,它的工作方式不同。這段代碼是封裝的例子嗎?

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

我認爲這是封裝,或作爲一個不同的名稱?

回答

2

這不是封裝。這是一個extracted method。該方法中的所有代碼都與另一個相關,並且其名稱中明確描述了其用途。這也被稱爲helper method

3

我想說這是更多的代碼重用,提取兩個方法內的通用功能,使這些方法變得微不足道,只需調用一個常用的方法。

(我會鼓勵你使用foreach以提高可讀性進一步,順便說一句。)

+0

我不明白,所以出現了明顯的標題? – Mediator

1

維基百科稱:

在編程語言中封裝用於指兩種相關但不同的概念之一,有時該組合[1] [2]它們:

1.一種語言機制來限制對某些對象組件的訪問。

2.一種語言結構,便於將數據與操作該數據的方法(或其他功能)捆綁在一起。

所以對我來說似乎是(通過看第二點)