2012-08-03 21 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。