1

我有一个小代码

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

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

  return _queryExecuter.Execute();
}

我做了什么,它允许在公共方法中使用私有成员?

我提到公共方法将用于另一个类(来自不同的项目但在相同的解决方案中)。

或者我必须创建私有方法并在私有变量中使用?

我需要的只是建议。

谢谢

4

2 回答 2

9

是的,它是一种非常基本的编程哲学,称为封装。它完全有效并鼓励这样做。在您的情况下,只有您知道如何使用您的连接对象并通过您的公共方法“限制”如何使用它,从而使您的应用程序保持在您定义的范围内。

于 2012-08-03T09:17:42.283 回答
2

我做了什么,它允许在公共方法中使用私有成员?

是的,您绝对可以在公共成员中使用私人成员。否则它们将毫无用处!(如果你只能在其他私人成员中使用私人成员,你怎么能使用它们中的任何一个?)

封装的很多要点是对公共 API 隐藏实现细节(私有成员)。

于 2012-08-03T09:18:18.297 回答