我将在编程中改变我的C#风格(我一直在使用'public static'代表变量,方法 - 一切).
我的问题:
public class WinSock
{
public Socket sock;
public byte[] data;
.....
}
var data = new byte[2058];
data = WinSock.data;
Run Code Online (Sandbox Code Playgroud)
或者这个:
private class WinSock
{
private Socket sock;
private byte[] data;
.....
public byte[] getdata()
{
get {return data;}
}
}
WinSock ws = new WinSock();
var data = new byte[2058];
data = ws.getdata();
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,都可以从其他类访问数据和sock变量.
两个声明中哪一个更好?
Ste*_*ger 11
一般来说,公开领域绝不是一个好主意.
由于getdata是一个属性,因此应将其称为Data.
private class WinSock
{
private Socket sock;
private byte[] data;
.....
public byte[] Data
{
get { return data; }
}
}
Run Code Online (Sandbox Code Playgroud)
公共接口由公共属性和方法组成,应确保状态(字段)永远不会出现矛盾.该班负责这些领域.它不应该允许任何人直接写入它.这就是封装的内容.
| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |