<object id="ged8u"></object>
  • <dd id="ged8u"><noscript id="ged8u"></noscript></dd><rp id="ged8u"></rp>
  • <tbody id="ged8u"><noscript id="ged8u"></noscript></tbody>

    新疆軟件開發

    本站首頁 軟件開發 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網站建設
      您現在的位置: 新疆二域軟件開發公司 >> .Net技術 >> 文章正文

    語法C# 問關鍵字之:base、this

    base 關鍵字用于從派生類中訪問基類的成員: 
    調用基類上已被其他方法重寫的方法。 
    指定創建派生類實例時應調用的基類構造函數。 
    基類訪問只能在構造函數、實例方法或實例屬性訪問器中進行。 
    示例:
    在派生類中調用基類方法。 
    // base 關鍵字
    // 訪問基類成員
    using System;
    public class BaseClass
    {
        protected string _className = "BaseClass";
        public virtual void PrintName()
        {
            Console.WriteLine("Class Name: {0}", _className);
        }
    }
    class DerivedClass : BaseClass
    {
        public string _className = "DerivedClass";
        public override void PrintName()
        {
            Console.Write("The BaseClass Name is {0}");
            //調用基類方法
            base.PrintName();
            Console.WriteLine("This DerivedClass is {0}", _className);
        }
    }
    class TestApp
    {
        public static void Main()
        {
            DerivedClass dc = new DerivedClass();
            dc.PrintName();
        }
    }
    /**//*
    控制臺輸出:
    The BaseClass Name is BaseClass
    This DerivedClass is DerivedClass
    */
    在派生類中調用基類構造函數。 
    // keywords_base2.cs
    using System;
    public class BaseClass
    {
        int num;
        public BaseClass()
        {
            Console.WriteLine("in BaseClass()");
        }
        public BaseClass(int i)
        {
            num = i;
            Console.WriteLine("in BaseClass(int {0})", num);
        }
    }
    public class DerivedClass : BaseClass
    {
        // 該構造器調用 BaseClass.BaseClass()
        public DerivedClass() : base()
       {
        }
        // 該構造器調用 BaseClass.BaseClass(int i)
        public DerivedClass(int i) : base(i)
        {
        }
        static void Main()
        {
            DerivedClass dc = new DerivedClass();
            DerivedClass dc1 = new DerivedClass(1);
        }
    }
    /**//*
    控制臺輸出:
    in BaseClass()
    in BaseClass(1)
    */
    注意點:
      從靜態方法中使用 base 關鍵字是錯誤的。 
    base 主要用于面向對象開發的對態這方面,在示例2中有體現。 
    this
    this 關鍵字引用類的當前實例。
    以下是 this 的常用用途:
    限定被相似的名稱隱藏的成員 
    將對象作為參數傳遞到其他方法 
    聲明索引器 
    示例:
     綜合示例。 
    // this 關鍵字
    // keywords_this.cs
    using System;
    class Employee
    {
        private string _name;
        private int _age;
        private string[] _arr = new string[5];
        public Employee(string name, int age)
        {
            // 使用this限定字段,name與age
            this._name = name;
            this._age = age;
        }
        public string Name
        {
            get { return this._name; }
        }
        public int Age
        {
            get { return this._age; }
        }
        // 打印雇員資料
        public void PrintEmployee()
        {
            // 將Employee對象作為參數傳遞到DoPrint方法
            Print.DoPrint(this);
        }
        // 聲明索引器
        public string this[int param]
        {
            get { return _arr[param]; }
          set { _arr[param] = value; }
        }
    }
    class Print
    {
        public static void DoPrint(Employee e)
        {
            Console.WriteLine("Name: {0}\nAge: {1}", e.Name, e.Age);
        }
    }
    class TestApp
    {
        static void Main()
        {
            Employee E = new Employee("Hunts", 21);
            E[0] = "Scott";
            E[1] = "Leigh";
            E[4] = "Kiwis";
            E.PrintEmployee();
            for(int i=0; i<5; i++)
            {
                Console.WriteLine("Friends Name: {0}", E[i]);
            }
            Console.ReadLine();
        }
    }
    /**//*
    控制臺輸出:
    Name: Hunts
    Age: 21
    Friends Name: Scott
    Friends Name: Leigh
    Friends Name: 
    Friends Name: 
    Friends Name: Kiwis
    */

    注意點:
      由于靜態成員函數存在于類一級,并且不是對象的一部分,因此沒有 this 指針。在靜態方法中引用 this 是錯誤的。 
    索引器允許類或結構的實例按照與數組相同的方式進行索引。索引器類似于屬性,不同之處在于它們的訪問器采用參數。

    作者:未知 | 文章來源:未知 | 更新時間:2007-11-19 18:06:03

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    j2se 嵌入式腳本抓取引擎
    NET Framework 2.0 Service Pack 2下載地址
    軟件開發中項目經理有那些職責
    解析.NET中的6各大的安全錯誤
    .NET中Boolean,bool以及String,string之間的區別
    “七分選型,三分軟件”的ERP法則
    在VC 程序中自定義Vista事件日志
    .Net FrameWork 2.0 新增功能 Bulk Copy
    教程:.Net多線程和Windows Forms編程
    C++函數對象count_if
    軟件技術
    · 開發語言
    · Java技術
    · .Net技術
    · 數據庫開發
    最新文章  
    ·.net技術 asp.net MVC3 Vi
    ·.net將視頻文件格式轉換成
    ·NET Framework 2.0 Servic
    ·如何動態修改winform的app
    ·asp,net軟件結構設計和相關
    ·學習怎樣使用ASP.NET中的虛
    ·,net基礎類的學習:system
    ·.net學習:c#事件的深入分
    ·Facade Pattern學習總結
    ·C#如何設置或者獲取目錄的
    ·如何使用XSL來定義ASP.NET
    ·理解WCF Data Contract契約
    ·如何能在.net2.0開發的控件
    ·模式怎樣使用,講解模式的
    ·如何解決Menu菜單被frame遮
    關于我們 | 軟件開發 | 下載試用 | 客服中心 | 聯系我們 | 友情鏈接 | 網站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發網 www.vidoe666.cn All Rights Reserved 新ICP備14003571號
    新疆軟件開發總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯大廈A-5C 郵編:830000
     
    野花影视大全在线观看免费,野花影视大全在线观看免费高清,小小影视大全在线观看免费观看
    <object id="ged8u"></object>
  • <dd id="ged8u"><noscript id="ged8u"></noscript></dd><rp id="ged8u"></rp>
  • <tbody id="ged8u"><noscript id="ged8u"></noscript></tbody>