base
base 關鍵字用於從派生類中訪問基類的成員:
呼叫基類上已被其他方法重寫的方法。
指定建立派生類例項時應呼叫的基類建構函式。
基類訪問只能在建構函式、例項方法或例項屬性訪問器中進行。
示例:在派生類中呼叫基類方法。
// base 關鍵字
// 訪問基類成員
using system;
public class baseclass
", _classname);}}
class derivedclass : baseclass
");//呼叫基類方法
base.printname();
console.writeline("this derivedclass is ", _classname);}}
/**//*
控制台輸出:
the baseclass name is baseclass
this derivedclass is derivedclass
*/在派生類中呼叫基類建構函式。
// keywords_base2.cs
using system;
public class baseclass
public baseclass(int i)
)", num);}}
public class derivedclass : baseclass
// 該構造器呼叫 baseclass.baseclass(int i)
public derivedclass(int i) : base(i)
static void main()
}/**//*
控制台輸出:
in baseclass()
in baseclass(1)
*/注意點
從靜態方法中使用 base 關鍵字是錯誤的。
base 主要用於物件導向開發的對態這方面,在示例2中有體現。
this
this 關鍵字引用類的當前例項。
以下是 this 的常用用途:
限定被相似的名稱隱藏的成員
將物件作為引數傳遞到其他方法
宣告索引器
示例:綜合示例。
// this 關鍵字
// keywords_this.cs
using system;
class employee
public string name
}public int age
}// 列印雇員資料
public void printemployee()
// 宣告索引器
public string this[int param]
set }}
class print
/nage: ", e.name, e.age);}}
for(int i=0; i<5; i++)
", e[i]);
}console.readline();}}
/**//*
控制台輸出:
name: hunts
age: 21
friends name: scott
friends name: leigh
friends name:
friends name:
friends name: kiwis
*/注意點
由於靜態成員函式存在於類一級,並且不是物件的一部分,因此沒有 this 指標。在靜態方法中引用 this 是錯誤的。
索引器允許類或結構的例項按照與陣列相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。
C 參考之訪問關鍵字 base this
base 關鍵字用於從派生類中訪問基類的成員 呼叫基類上已被其他方法重寫的方法。指定建立派生類例項時應呼叫的基類建構函式。基類訪問只能在建構函式 例項方法或例項屬性訪問器中進行。示例 在派生類中呼叫基類方法。base 關鍵字 訪問基類成員 using system public class base...
C 參考之訪問關鍵字 base this
base base 關鍵字用於從派生類中訪問基類的成員 呼叫基類上已被其他方法重寫的方法。指定建立派生類例項時應呼叫的基類建構函式。基類訪問只能在建構函式 例項方法或例項屬性訪問器中進行。示例 在派生類中呼叫基類方法。在派生類中呼叫基類建構函式。注意點從靜態方法中使用 base 關鍵字是錯誤的。ba...
C 關鍵字之yield
說起yield,不得不先說說迭代器。迭代器是c 2.0中的新功能,有了它,我們就可以在自己的類或者結構中支援foreach迭代而不必實現整個ienumerable介面,我們只需要提供乙個迭代器,即可遍歷類中的資料結構。當編譯器檢測到迭代器時,它將自動生成ienumerable介面的current m...