在派生類中呼叫基類方法。

2021-04-26 12:59:35 字數 1840 閱讀 7334

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 在派生類中呼叫基類成員

一 在派生類中呼叫基類成員 在c 的派生類中,我們可以使用base關鍵字呼叫基類中的公有或者受保護成員。這些成員只能是建構函式 例項方法或者例項屬性。base關鍵字呼叫基類成員的語法格式如下 base identifier或 base expression list 注意 base關鍵字不能用在派生...

在派生類中引發基類事件

1 在建立基類時,若涉及到事件,事件是特殊型別的委託,只可以從宣告它們的類中呼叫,派生類無法直接呼叫基類中宣告的事件,但是在多數情況,會需要允許派生類呼叫基類事件,這時,可以再包含該事件的基類中建立乙個受保護的虛呼叫方法,通過呼叫或重寫此呼叫方法,派生類便可以間接呼叫該事件。注 不要在基類中宣告虛擬...

在派生類中引發基類事件

1 事件是特殊的委託,所以只可以在宣告它的類中呼叫。在基類中宣告乙個事件,所以可以在基類中呼叫,而不能在派生類中直接呼叫。但有些情況下,需要在派生類中引用基類事件,實現方法是,在基類中定義乙個受保護的方法引用事件,然後在派生類中重寫基類方法,利用base關鍵字實現間接呼叫基類事件。2 派生類呼叫基類...