base
其實最大的使用地方在面相對性開發的多型性上,base
可以完成建立派生類例項時呼叫其基類建構函式或者呼叫基類上已被其他方法重寫的方法。
例如:
public
classa}
public
classb:
astatic
void
main()
}
建立乙個b的例項物件,獲得結果是同時列印build a
和build 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...