posts - 5,  comments - 5,  trackbacks - 0

          概要
          C# 是一種面向?qū)ο蟮木幊陶Z(yǔ)言。 可以定義類以表示應(yīng)用程序中的類型,然后創(chuàng)建對(duì)象作為這些類的實(shí)例。

          在 C# 中,類可以包含字段、方法、屬性和索引器。 在本文中,您將學(xué)習(xí)如何在 C# 中新建一個(gè)表示棒球隊(duì) (Baseball Team) 的類。 將給該類定義字段、方法和屬性。接著將創(chuàng)建此類類型的一個(gè)對(duì)象并利用其方法和屬性。

          新建類
          1. 從項(xiàng)目菜單上,單擊添加類。?
          2. 在添加新項(xiàng)對(duì)話框的類名中,鍵入 BaseballTeam,然后單擊打開(kāi)。?
          3. 在“代碼視圖”窗口中檢查該新類的代碼。?

          定義字段和構(gòu)造函數(shù)
          1. 在視圖菜單上,單擊類視圖。 在“類視圖”窗口中,展開(kāi) ClassesAndObjects 項(xiàng)目,然后展開(kāi) ClassesAndObjects 名稱空間。 右鍵單擊 BaseballTeam 類,選擇添加,然后單擊添加字段。?
          2. 在 C# 字段向?qū)е?,將字段訪問(wèn)設(shè)置為 private,并將字段類型設(shè)置為 string。 在字段名中,鍵入 name。單擊完成。 此時(shí),就會(huì)將以下字段添加到該類中:
          private string name;
          ?
          3. 重復(fù)步驟 1 和 2(或手動(dòng)鍵入代碼)以添加另一個(gè)字段,如下所示:
          private string stadium;
          ?
          4. 再添加兩個(gè)字段,并提供初始字段值,如下所示:
          ?private int wins = 0;
          private int defeats = 0;
          ?
          5. 修改該類的構(gòu)造函數(shù),以初始化球隊(duì)和體育場(chǎng) (stadium) 的名稱:
          public BaseballTeam(string n, string s)
          {
          ?? this.name = n;
          ?? this.stadium = s;
          }

          定義方法
          1. 在類視圖中,右鍵單擊 BaseballTeam 類。 選擇添加,然后單擊添加方法。?
          2. 將方法訪問(wèn)設(shè)置為 public,并將返回類型設(shè)置為 void。 在方法名稱中,鍵入 PlayGame。 添加兩個(gè)名為 runsFor 和 runsAgainst 的 int 參數(shù)。單擊完成。 此時(shí),就會(huì)將以下方法添加到該類中:
          public void PlayGame(int runsFor, int runsAgainst)
          {
          }
          3. 定義方法體,如下所示:
          public void PlayGame(int runsFor, int runsAgainst)
          {
          ?? if (runsFor > runsAgainst)
          ????? this.wins++;
          else
          ????? this.defeats++;
          }
          4. C# 中的所有類最終都是從名為 Object 的基類繼承而來(lái)的。此類定義了所有類的通用功能。以 ToString 方法為例,它返回一個(gè)字符串形式的類狀態(tài)。 在您的 BaseballTeam 類中重寫(xiě)此方法,如下所示: public override string ToString()
          {
          ?? return this.name + ", play at " + this.stadium + ": " +
          ????????? " W" + this.wins + " L" + this.defeats;
          }

          定義重載方法
          C# 支持重載方法,它是指名稱相同但簽名不同的方法。 在下面的步驟 2 中,將定義 PlayGame 方法的一個(gè)重載版本,該方法將比賽結(jié)果作為參數(shù)。
          1. 首先,在 BaseballTeam 類中定義一個(gè) enum,如下所示: public enum Result {Win, Lose}
          2. 另創(chuàng)建一個(gè) PlayGame 方法,如下所示: public void PlayGame(Result r)
          {
          ?? if (r == Result.Win)
          ????? this.wins++;
          ?? else if (r == Result.Lose)
          ????? this.defeats++;
          }

          定義屬性
          1. 在類視圖中,右鍵單擊 BaseballTeam 類。 選擇添加,然后單擊添加屬性。?
          2. 將屬性訪問(wèn)設(shè)置為 public,并將屬性類型設(shè)置為 double。 在屬性名中,鍵入 Record。 單擊 get 單選按鈕,然后單擊完成。 此時(shí),就會(huì)將以下屬性添加到該類中: public double Record
          {
          ?? get
          ?? {
          ????? return 0;
          ?? }
          }
          3. 按以下方式修改該屬性,使其返回棒球隊(duì)的比賽記錄(例如,如果本隊(duì)贏得 10 場(chǎng)比賽,輸?shù)?10 場(chǎng)比賽,則該隊(duì)的記錄為 0.5): public double Record
          {
          ?? get
          ?? {
          ????? int played = this.wins + this.defeats;
          ????? return (double)this.wins / played;
          ?? }
          }
          4. 添加一個(gè)名為 Ballpark 的獲取/設(shè)置屬性,如下所示。 該屬性允許讀取或更改棒球隊(duì)的 stadium 字段: public string Ballpark
          {
          ?? get
          ?? {
          ????? return this.stadium;
          ?? }
          ?? set
          ?? {
          ????? this.stadium = value;? // value is an implicit parameter
          ?? }
          }

          創(chuàng)建并使用一個(gè)對(duì)象
          1. 在“代碼視圖”窗口中顯示 Class1.cs 的代碼。?
          2. 在 Main 方法中,使用 new 運(yùn)算符創(chuàng)建一個(gè) BaseballTeam 對(duì)象。 將對(duì)該對(duì)象的引用賦值給 BaseballTeam 局部變量,如下所示:
          BaseballTeam sf = new BaseballTeam("San Francisco Giants",
          ?????????????????????????????????? "Candlestick Park");
          3. 添加下列代碼以便在對(duì)象上測(cè)試公用方法:
          sf.PlayGame(7, 2);
          sf.PlayGame(BaseballTeam.Result.Lose);
          4. 添加下列語(yǔ)句以檢驗(yàn)對(duì)象的屬性:
          Console.Out.WriteLine("Record: " + sf.Record);
          sf.Ballpark = "3Com Park";
          5. 顯示對(duì)象的當(dāng)前狀態(tài),如下所示:
          Console.Out.WriteLine(sf.ToString());
          6. 將對(duì)該對(duì)象的引用設(shè)置為 null,表明您不再需要 BaseballTeam 對(duì)象。 這樣,就可以將該對(duì)象作為垃圾回收(注意,C# 沒(méi)有 delete 運(yùn)算符):
          sf = null;

          ?
          posted on 2006-10-20 16:35 曾科 閱讀(1049) 評(píng)論(1)  編輯  收藏 所屬分類: C#

          FeedBack:
          # re: HOW TO:在 C# .NET 中創(chuàng)建類和對(duì)象
          2007-09-25 08:41 |
          謝謝了 我收藏了  回復(fù)  更多評(píng)論
            
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊(cè)

          .net

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 伊通| 郓城县| 平果县| 交口县| 神木县| 武功县| 抚顺县| 明水县| 崇左市| 沽源县| 四平市| 兖州市| 中江县| 满城县| 怀来县| 子洲县| 博罗县| 绥德县| 峨眉山市| 新宾| 綦江县| 上饶县| 昌江| 湘西| 大足县| 铜鼓县| 凤阳县| 民丰县| 新龙县| 溧阳市| 嘉峪关市| 武冈市| 望江县| 广汉市| 万荣县| 万年县| 红安县| 沾益县| 斗六市| 静宁县| 页游|