隨筆 - 78  文章 - 25  trackbacks - 0
          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿

          隨筆分類(75)

          隨筆檔案(78)

          相冊

          實用Links

          我的Links

          搜索

          •  

          積分與排名

          • 積分 - 114390
          • 排名 - 515

          最新評論

          閱讀排行榜

          評論排行榜

          方法重載,在C#中通過虛函數來實現,具體做法:現在父類中用virtual將其聲明為虛函數,然后在子類中用override關鍵字來指定該函數為重載函數。重載函數必須具有父類函數中的參數個數,參數類型和返回類型。

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

          namespace MethodOverride
          {
              
          public enum Genders { 
                  Female
          =0,
                  Male
          =1
              }
              
          public class Person {
                  
          protected string _name;
                  
          protected int _age;
                  
          protected Genders _gender;
                  
          public Person() {
                      
          this._name = "default name";
                      
          this._age = 20;
                      
          this._gender = Genders.Male;
                  }
                  
          public virtual void IntroduceMyself() {
                      System.Console.WriteLine(
          "introduce myself");
                  }
              }

              
          public class ChinesePerson : Person {
                  
          public ChinesePerson() : base() {
                      
          this._name = "default Chinese Name";            
                  }
                  
          public override void IntroduceMyself()
                  {
                      System.Console.WriteLine(
          "我叫{0},年齡{1},性別{2}",this._name,this._age,this._gender);
                  }
              }

              
          public class EnglishPerson : Person
              {
                  
          public EnglishPerson(): base()
                  {
                      
          this._name = "default English Name";
                  }
                  
          public override void IntroduceMyself()
                  {
                      System.Console.WriteLine(
          "My Name is{0},my age is {1},my gender is {2}"this._name, this._age, this._gender);
                  }
              }

              
          class Program
              {
                  
          static void Main(string[] args)
                  {
                      Person aPerson 
          = new Person();
                      aPerson.IntroduceMyself();
                      aPerson 
          = new ChinesePerson();
                      aPerson.IntroduceMyself();
                      aPerson 
          = new EnglishPerson();
                      aPerson.IntroduceMyself();
                      System.Console.ReadLine();
                  }
              }
          }

          結果如下:
          introduce myself
          我叫default Chinese Name,年齡20,性別Male
          My Name isdefault English Name,my age is 20,my gender is Male



          posted on 2009-10-26 14:07 期待明天 閱讀(990) 評論(0)  編輯  收藏 所屬分類: CSharp
          主站蜘蛛池模板: 林周县| 霸州市| 喀喇沁旗| 阳城县| 灵石县| 吴川市| 凤阳县| 咸阳市| 鄂尔多斯市| 奇台县| 大同市| 南昌县| 仙游县| 微山县| 莲花县| 青州市| 通河县| 安康市| 汉沽区| 昆明市| 仪陇县| 浠水县| 沅江市| 金湖县| 朝阳区| 灵山县| 德安县| 楚雄市| 阜南县| 昭通市| 黄骅市| 东安县| 曲松县| 南和县| 邹平县| 射洪县| 若羌县| 崇明县| 荣成市| 鹤山市| 营山县|