哪吒2之魔童闹海|哪吒2之魔童归来免费观看|哪吒2在线观看|哪吒2魔童闹海电影免费观看|哪吒2免费观看完整版大电影|哪吒1免费观看完整版

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> .Net技術(shù) >> 文章正文

語法C# 問關(guān)鍵字之:base、this

base 關(guān)鍵字用于從派生類中訪問基類的成員: 
調(diào)用基類上已被其他方法重寫的方法。 
指定創(chuàng)建派生類實例時應(yīng)調(diào)用的基類構(gòu)造函數(shù)。 
基類訪問只能在構(gòu)造函數(shù)、實例方法或?qū)嵗龑傩栽L問器中進行。 
示例:
在派生類中調(diào)用基類方法。 
// base 關(guān)鍵字
// 訪問基類成員
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}");
        //調(diào)用基類方法
        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
*/
在派生類中調(diào)用基類構(gòu)造函數(shù)。 
// 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
{
    // 該構(gòu)造器調(diào)用 BaseClass.BaseClass()
    public DerivedClass() : base()
   {
    }
    // 該構(gòu)造器調(diào)用 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)
*/
注意點:
  從靜態(tài)方法中使用 base 關(guān)鍵字是錯誤的。 
base 主要用于面向?qū)ο箝_發(fā)的對態(tài)這方面,在示例2中有體現(xiàn)。 
this
this 關(guān)鍵字引用類的當前實例。
以下是 this 的常用用途:
限定被相似的名稱隱藏的成員 
將對象作為參數(shù)傳遞到其他方法 
聲明索引器 
示例:
 綜合示例。 
// this 關(guān)鍵字
// 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對象作為參數(shù)傳遞到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
*/

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

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

  • 上一篇文章:

  • 下一篇文章:

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