官术网_书友最值得收藏!

1.6 命名空間

命名空間(Namespace)是.NET中類的容器,也可以稱作類庫。面向對象編程離不開類和對象,命名空間即為存放類的容器。一個命名空間中可以有一個或多個類,同一個命名空間下的類名不能相同,但不同命名空間下可以有相同的類名。本節介紹命名空間的功能及其使用。

1.6.1 命名空間基礎

命名空間是數據類型的一種組合方式,C#是面向對象編程語言,因此離不開類。但同一個項目的不同的開發人員,可能命名相同的類名來實現不同的功能,此時通過將類放在不同的命名空間下,以避免類重名引起的沖突。

通過命名空間將不同的類分類存儲,能夠使項目的結構更加清晰明確。在.NET Framework下有多個命名空間,可直接引用。如創建一個控制臺應用程序,則在控制臺的后臺代碼中,有如下引用命名空間的語句:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

上述代碼中,“using”關鍵字用來引用命名空間,只有被引用的命名空間,其內部的類和方法才能被直接使用。“using”關鍵字后為命名空間的名稱,該窗體共添加了9個命名空間。

由上述代碼可以看出,該窗體所引用的命名空間都有“System”字樣,除了首行以外,其他命名空間都在“System”字樣后添加圓點及其他名稱。

命名空間是可以嵌套的,因此代碼引用中,有著嵌套的命名空間。但命名空間的嵌套與其內部類和方法的使用沒有關聯,它們屬于不同的命名空間。常見的命名空間及其介紹如表1-2所示。

表1-2 常用命名空間及其說明

1.6.2 命名空間的使用

命名空間寫在.cs文件下,使用關鍵字“namespace”來定義。命名空間下有一個或多個類,類使用關鍵字“class”來定義。

命名空間和類的定義都是在關鍵字后添加自定義的(命名空間/類)名稱,接著是大括號{}。在大括號內部定義命名空間或類的具體內容。如定義一個命名空間Fruit和其內部的兩個類Apple和Banana,代碼如下:

namespace Fruit
{
     class Apple
    {
    }
     class Banana
    {
    }
}

命名空間是可以嵌套使用的,其嵌套的使用有兩種方式。如上述代碼中,將命名空間Fruit放在命名空間Food的內部,Fruit命名空間的應用需要使用“using Food.Fruit”。其定義代碼有兩種方式,如下所示。

□ 直接使用嵌套的命名空間名稱

namespace Food.Fruit
{
     class Apple
    {
    }
     class Banana
    {
    }
}

□ 使用命名空間的嵌套

namespace Food
{
   namespace Fruit
   {
      class Apple
      {
      }
      class Banana
      {
      }
   }
}

命名空間是可以擴充的,可在不同文件下定義同一個命名空間中的類。如上述代碼可以在不同文件下分別定義類Apple和類Banana,代碼如下:

namespace Food.Fruit
{
     class Apple
    {
    }
}
//下面代碼在另一個文件下
namespace Food.Fruit
{
     class Banana
    {
    }
}

上述代碼中,“//”后面的語句為注釋語句,程序在運行時跳過不執行語句,通常用于對程序的解釋。代碼中的注釋將在本書第2章詳細介紹。

主站蜘蛛池模板: 忻州市| 韶关市| 夏河县| 金华市| 河池市| 高青县| 饶河县| 陇川县| 南召县| 基隆市| 介休市| 永州市| 夏河县| 威信县| 永寿县| 新河县| 奈曼旗| 宁陕县| 衡阳县| 财经| 双峰县| 马山县| 新兴县| 武安市| 武川县| 元谋县| 阜宁县| 镇赉县| 恭城| 上饶市| 临颍县| 满洲里市| 新竹县| 揭阳市| 托克逊县| 洛南县| 松原市| 宜章县| 信丰县| 内江市| 平遥县|