C# 命名空间(namespace),接口(interface),类(class),结构(struct)
命名空间(namespace)
定义方式,使用namespace关键字来定义,如下代码:
namespace CSharp
{
}
namespace CSharp.Example
{
}
"CSharp",“CSharp.Example”是命名空间的名字,采用驼峰(camel)命名法 ,第一个字母和单词的首字母大写。
接口(interface)
先看代码:
interface TestInterface
{
void SetValue(string name, string value);
string GetValue(string name);
}
void SetValue(string name, string value); -- “void”是该方法的返回类型,void就表示不返回,string就表示返回string类型。
string name, string value 是参数列表,定义方式就是“类型+变量名”,比如我们可以是string name,int v等。参数个数也没有限制。
接口的里面的方法没有具体实现,换句话说,就是没有具体的代码。
如何理解接口? 比如我们需要造一台印钞机,我先定义一些规格,写成一份文件,名字叫印钞机规格说明书(也就是TestInterface),这份说明书里面,我定义了两个规格,
第一:印钞机我只需要放入纸和墨(对应SetValue(string name, string value))。
第二:再放入纸和墨后,我就可以拿钱了(对应GetValue(string name))。
至于放入纸和墨之后,如何生产成钱,这个就不关这个说明书的事情了,那是生产厂家的事情。
类(class)
public class TestPublicClass
{
public int _pi = 0;
protected int _pr = 0;
private int _pv = 0;
internal int _pn = 0;
public int Pi
{
set { _pi = value; }
get { return _pi; }
}
public string GetP(int i)
{
}
protected void GetP2()
{
}
private int GetP3()
{
}
internal void GetP4()
{
}
}
类定义方式:public class TestPublicClass -- public 是访问限制符。class是关键字 ,TestPublicClass 是类名,命名规则同上.
访问限制符的详细解释:http://msdn.microsoft.com/zh-cn/library/ba0a1yw2(VS.80).aspx
字段定义: private int _pv = 0; private 是访问限制符。int是该字段的类型 ,_pv是字段名字,命名规稍有不同,一般情况下,字段也是采用camel命名法,但是我个人喜欢前面带一个下划线,然后首字母小写,其它单词字母大些,比如: private int _pValue;
注意:字段最好全部定义成private访问级别。 这里使用了public,protected,internal只是为了演示而已。
字段官方参考:http://msdn.microsoft.com/zh-cn/library/ms173118(VS.80).aspx
属性定义:
public int Pi
{
set { _pi = value; }
get { return _pi; }
}
格式也就不多解释了,官方参考:http://msdn.microsoft.com/zh-cn/library/x9fsa0sw(VS.80).aspx
属性命名规则是camel, 第一个字母大写和每个单词的首字母大写,如:PiValue等。 属性一般对应字段。
方法定义:
public string GetP(int i)
{
}
规则同属性,只不过方法提供更多的功能而已,官方参考:http://msdn.microsoft.com/zh-cn/library/ms173114(VS.80).aspx
官方连接里面都有例子,直接copy测试即可。
结构(struct)
官方地址:http://msdn.microsoft.com/zh-cn/library/saxz13w4(VS.80).aspx
使用结构:http://msdn.microsoft.com/zh-cn/library/0taef578(VS.80).aspx