C# 命名空间(namespace),接口(interface),类(class),结构(struct)

时间:2022-09-02 11:42:26

命名空间(namespace)

定义方式,使用namespace关键字来定义,如下代码:

 

C# 命名空间(namespace),接口(interface),类(class),结构(struct)C# 命名空间(namespace),接口(interface),类(class),结构(struct)Code
namespace CSharp
{

}

namespace CSharp.Example
{

}

 

"CSharp",“CSharp.Example”是命名空间的名字,采用驼峰(camel)命名法 ,第一个字母和单词的首字母大写。

接口(interface)

先看代码:

C# 命名空间(namespace),接口(interface),类(class),结构(struct)C# 命名空间(namespace),接口(interface),类(class),结构(struct)Code
interface TestInterface
    {
        
void SetValue(string name, string value);
        
string GetValue(string name);
    }
使用interface关键字 定义, TestInterface 是该接口的名字,命名规则同上,也是采用camel命名法。
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)

 

C# 命名空间(namespace),接口(interface),类(class),结构(struct)C# 命名空间(namespace),接口(interface),类(class),结构(struct)Code
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