2012-08-03 41 views
1

我有一個小碼它允許將私有變量放在C#中的公共方法中?

public void StartConnection(){ 
    _connection = new DatabaseConnection(); 
} 

public Results ExecuteQuery(string format){ 
    _queryExecuter.SetText = string.Format(_queryString, format); 

    return _queryExecuter.Execute(); 
} 

我做什麼,它允許使用私有成員公共方法裏面?

我提到公共方法將用於其他類(來自不同的項目,但在相同的解決方案中)。

或者我必須創建私有方法並在私有變量中使用?

我只需要建議。

謝謝

回答

9

是它的一個非常基本的編程理念稱爲encapsulation。它完全有效,並鼓勵這樣做。在你的情況下,只有你知道如何使用你的連接對象,並「限制」如何通過你的公共方法來使用它,從而使你的應用程序保持在你定義的範圍內。

2

我做了什麼,它允許在公共方法中使用私有成員?

是的,你絕對可以在公共場合使用私人會員。否則他們會變得毫無用處! (如果您只能在其他私人會員中使用私人會員,您怎麼可以使用其中任何私人會員?)

封裝的很多要點是隱藏(私人會員)的公開API。