程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用名字空間(3)

使用名字空間(3)

編輯:關於C語言

16.2.3 改寫“Welcome”程序

為了演示名字空間的基本用法,我們把第三章的“Welcome”程序分為庫和控制台兩部分。庫用來提供顯示的消息,控制台程序執行顯示。

首先讓我們看一下庫文件,其中包含了一個WelcomeMessage類。

程序清單16-1:

//庫文件 WelcomeLibrary.cs

namespace MyProgram.CSharp.FirstApp
{
 public class Welcome.Message
 {
  string m_message;
  public WelcomeMessage()
  {
    m_message="Welcome!";
  }
  public string Message{
           get{
               return m_message;
           }
        set{
            m_message=value;
        }
  }
 }
}

上面的代碼展示了在名字空間MyProgram.CSharp.FirstApp定義的類WelcomeMessage,類WelcomeMessage提供了可讀的屬性Message。我們看到,名字空間可以嵌套,比如聲明:

namespace MyProgram.CSharp.FirstApp
{...}

實際上是以下多層名字空間的嵌套:

namespace MyProgram
{
 namespace CSharp
 {
   namespace FirstApp
   {...}
  }
}

“Welcome”程序組件化的下一步就是編寫客戶控制台程序,客戶程序將使用庫中提供的類WelcomeMessage。實際上WelcomeMessage這個類的全名應該是MyProgram.CSharp.FirstApp.WelcomeMessage,但這種方法使用的書寫的名字太長,顯得過於笨拙。一個簡單的方法是預先導入名字空間,這樣就可以不通過全名來使用名字空間的所有類型。

程序清單16-2:

//客戶程序源文件WelcomeApp.cs

using System;
using MyProgram.CSharp.FirstApp;
class WelcomeApp
{
 public static void Main(){
    WelcomeMessage M=new WelcomeMessage();
    System.Console.WriteLine(M.Message);
    System.Console.WriteLine("Please Enter your name:");
    string input=System.Console.ReadLine();
    M.Message="Welcome"+input;
    System.Console.WriteLine(M.Message);
   }
}

上例中,導入了名字空間MyProgram.CSharp.FirstApp後,每次出現的WelcomeMessage實際上就是MyProgram.CSharp.FirstApp.WelcomeMessage的簡寫。

我們寫的代碼可以編譯後產生一個包含類WelcomeMessage的庫,以及一個包含類WelcomeApp的應用程序。具體的編譯步驟的細節,可能會因為使用編譯器或工具的不同而不同。使用Visual Studio 7.0提供的命令行編譯器,正確的語法應該是:

csc /target:library WelcomeLibrary.cs

上面這條語句產生WelcomeLibrary.dll類庫。

csc /reference:WelcomeLibrary.dll WelcomeApp.cs

上面這條語句產生WelcomeApp.exe應用程序。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved