C 中Base關鍵字的幾種用法

2021-10-14 09:33:21 字數 2054 閱讀 9369

base其實最大的使用地方在面相對性開發的多型性上,base可以完成建立派生類例項時呼叫其基類建構函式或者呼叫基類上已被其他方法重寫的方法。

例如:

public

classa}

public

classb:

astatic

void

main()

}

建立乙個b的例項物件,獲得結果是同時列印build abuild b

public

classa}

public

classb:

a}

這樣如果程式呼叫b.hello()獲得的效果將會使hello world.

最後補充下,根據msdn library介紹來看這兩個關鍵字都是屬於[訪問關鍵字]型別

base關鍵字用於從派生類中訪問基類的成員:

示例:1. 在派生類中呼叫基類方法。

using system;

public

class

baseclass

", _classname);}

}class

derivedclass

:baseclass")

;//呼叫基類方法

base

.printname()

; console.

writeline

("this derivedclass is "

, _classname);}

}class

}

2. 在派生類中呼叫基類建構函式。

// 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()

}

注意:

從靜態方法中使用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);}

}class

", e[i]);

} console.

readline()

;}}

C 中base關鍵字的幾種用法

base其實最大的使用地方在面相對性開發的多型性上,base可以完成建立派生類例項時呼叫其基類建構函式或者呼叫基類上已被其他方法重寫的方法。例如 2.1關於base呼叫基類建構函式 public classa public class b a static void main 建立乙個b的例項物件,...

base關鍵字 this關鍵字

用於在派生類中實現對基類公有或者受保護成員的訪問,但是只侷限在建構函式 例項方法和例項屬性訪問器中。功能主要包括 1 呼叫基類上已被其他方法重寫的方法。2 指定建立派生類例項時應呼叫的基類建構函式。base常用於,在派生類物件初始化時和基類進行通訊。base可以訪問基類的公有成員和受保護成員,私有成...

C 中this和base關鍵字

this 指的是這個物件本身,主要用於 在定義類時,寫上this.後vs會出現這個類中非靜態的成員,智慧型提示。一般在建構函式中使用,區分欄位和區域性變數 class person 用於在建構函式中呼叫兩乙個建構函式 class person public person string name,in...