<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    常用鏈接

    留言簿

    隨筆分類(75)

    隨筆檔案(78)

    相冊

    實用Links

    我的Links

    搜索

    •  

    積分與排名

    • 積分 - 114078
    • 排名 - 516

    最新評論

    閱讀排行榜

    評論排行榜

    覆蓋類成員:通過new關鍵字修飾虛函數表示覆蓋該虛函數。
    一個虛函數被覆蓋后,任何父類變量都不能訪問該虛函數的具體實現。
    public virtual void IntroduceMyself(){...}//父類虛函數
    public new void IntroduceMyself(){...}//子類覆蓋父類虛函數

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

    namespace MethodOverrideByNew
    {
        
    public enum Genders { 
            Female
    =0,
            Male
    =1
        }
        
    public class Person {
            
    protected string _name;
            
    protected int _age;
            
    protected Genders _gender;
            
    /// <summary>
            /// 父類構造函數
            /// </summary>
            public Person() {
                
    this._name = "DefaultName";
                
    this._age = 23;
                
    this._gender = Genders.Male;
            }
            
    /// <summary>
            /// 定義虛函數IntroduceMyself()
            /// </summary>
            public virtual void IntroduceMyself() {
                System.Console.WriteLine(
    "Person.IntroduceMyself()");
            }
            
    /// <summary>
            /// 定義虛函數PrintName()
            /// </summary>
            public virtual void PrintName() {
                System.Console.WriteLine(
    "Person.PrintName()");
            }
        }
        
    public class ChinesePerson :Person{
            
    /// <summary>
            /// 子類構造函數,指明從父類無參構造函數調用起
            /// </summary>
            public ChinesePerson() :base(){
                
    this._name = "DefaultChineseName";
            }
            
    /// <summary>
            /// 覆蓋父類方法IntroduceMyself,使用new關鍵字修飾虛函數
            /// </summary>
            public new void IntroduceMyself() {
                System.Console.WriteLine(
    "ChinesePerson.IntroduceMyself()");
            }
            
    /// <summary>
            /// 重載父類方法PrintName,使用override關鍵字修飾虛函數
            /// </summary>
            public override void PrintName(){
                System.Console.WriteLine(
    "ChinesePerson.PrintName()");            
            }
        }

        
    class Program
        {
            
    static void Main(string[] args)
            {
                
    //定義兩個對象,一個父類對象,一個子類對象
                Person aPerson = new ChinesePerson();
                ChinesePerson cnPerson 
    = new ChinesePerson();
                
    //調用覆蓋的方法,父類對象不能調用子類覆蓋過的方法,只能調用自身的虛函數方法
                aPerson.IntroduceMyself();      
                cnPerson.IntroduceMyself();
                
    //調用重載方法,父類對象和子類對象都可以調用子類重載過后的方法
                aPerson.PrintName();
                cnPerson.PrintName();

                System.Console.ReadLine();
            }
        }
    }

    結果:
    Person.IntroduceMyself()
    ChinesePerson.IntroduceMyself()
    ChinesePerson.PrintName()
    ChinesePerson.PrintName()



    posted on 2009-10-26 15:57 期待明天 閱讀(748) 評論(0)  編輯  收藏 所屬分類: CSharp
    主站蜘蛛池模板: 亚洲中文字幕无码一久久区| 亚洲成AV人片一区二区| 一级毛片aaaaaa视频免费看| 亚洲AV无码成人网站久久精品大 | 9久热精品免费观看视频| 久久久久久亚洲精品中文字幕| 免费精品国产日韩热久久| 猫咪www免费人成网站| 久久精品国产精品亚洲艾草网 | 亚洲αv久久久噜噜噜噜噜| 无码日韩人妻av一区免费 | 在线A级毛片无码免费真人| 97国免费在线视频| 亚洲真人无码永久在线观看| 国产亚洲精品无码专区| 4455永久在线观免费看| jizz免费观看| 亚洲日本久久一区二区va| 中文字幕精品亚洲无线码一区应用| 91精品免费在线观看| 亚洲黄片手机免费观看| 亚洲男人天堂2022| 亚洲AV无码精品色午夜在线观看| 好吊妞788免费视频播放| 日本免费一区二区久久人人澡| 亚洲AV无码一区二区乱子仑| 久久久亚洲欧洲日产国码aⅴ| 俄罗斯极品美女毛片免费播放| 99久久免费看国产精品| 一级毛片aaaaaa视频免费看| 亚洲色偷偷综合亚洲av78| 亚洲一区二区三区电影| 亚洲国产综合精品中文字幕| 好男人视频社区精品免费| 亚在线观看免费视频入口| 一级特黄录像视频免费| 亚洲一级特黄特黄的大片| 777亚洲精品乱码久久久久久 | 亚洲av日韩av高潮潮喷无码| 免费大学生国产在线观看p| 丁香花在线观看免费观看|