C 語法學習this base

2021-09-08 06:34:50 字數 2328 閱讀 3580

this 關鍵字所指的是類別 (class) 的目前執行個體 (instance),而且也用來當做擴充方法之第乙個引數的修飾詞 (modifier)。

以下為 this 的常見用法:

this關鍵字使用的地方:

1,索引

2,this簡單的說,表示所在類.準確的說是代表類的對像.

3,其他場合.代表建構函式

//要限定被類似名稱所隱藏的成員,例如:

public

employee(

string

name, 

string

alias)  //

要將物件做為引數傳遞到其他方法,例如:

calctax(

this

);//

要宣告索引子,例如:

public

intthis

[int

param]

set}

//因為靜態成員函式存在於類別層級,且非物件的一部分,所以不具有 this 指標。在靜態方法中參考 this 是錯誤的。

base 關鍵字用於訪問衍生類別中的基底類別 (base class) 成員:

呼叫乙個已被其他方法覆寫之基底類別中的方法。

指定建立衍生類別執行個體時,所要呼叫的基底類別建構函式。

基底類別只允許在建構函式、執行個體方法 (instance method) 或執行個體屬性訪問子中訪問。

在靜態方法中使用 base 關鍵字是錯誤的。

//於此例中,基底類別 person 和衍生類別 employee 都有乙個名為 getinfo 的方法。使用 

//base 關鍵字,就可以從衍生類別中呼叫基底類別的 getinfo 方法。

//accessing base class members

using

system;

public

class

person

", name);

console.writeline(

"ssn: 

", ssn);}}

class

employee : person

", id);}}

class

testclass}//

此範例顯示了在建立衍生類別的執行個體時,要如何指定呼叫的基底類別建構函式。

using

system;

public

class

baseclass

public

baseclass(

inti)

public

intgetnum()

}public

class

derivedclass : baseclass

//this constructor will call baseclass.baseclass(int i)

public

derivedclass(

inti) : 

base

(i)static

void

main()}

/*base

簡單點的說,代表直接父類.

如果子類的父類還有父類,這時base只能訪問到它的直接父類

也就說說父類的父類是沒有辦法訪問到的.

1,使用base可以訪問父類中的成員

2,使用父類建構函式.

* */

using

system;

using

traffic;

namespace

test}}

namespace

traffic

public

vehicle(

string

name)

public

vehicle(

string

name,

intspeed)

public

void

getname()

//成員方法

}public

class

car:vehicle

//base(name,200)中的name是直接傳入的car(string name)中的name

//因此這裡在name前不需要有資料型別

//這裡會先執行父類的再執行子類的建構函式

public

car(

string

name,

intspeed):

base

(name,speed)

}public

class

gaojicar:car}}

c 語法學習

迴圈和關係表示式 for迴圈 表示式和語句 遞增和遞減,字首式效率更高 組合賦值操作符 復合語句 逗號操作符 關係操作符,和 while迴圈 typedef工具 dowhile迴圈 get 字元輸入方法 檔案尾條件 巢狀迴圈和二維數值 strcmp a,b 判斷兩個字串是否相等 cin如何處理字元輸...

C 基礎語法學習

基本用語區分 解決方案和專案 解決一類問題的方案。比如要建一套房子是不是要有一套解決方案,那是不是要把該方案分解成幾個小專案,如設計,裝修,水電安裝,材料運輸等專案 c 和.net net 是一種平台一種技術,裡面包含著乙個非常大的 庫 可以模擬成 jvm c 是一種語言,我們可以使用c 去呼叫.n...

C 語法學習(6)

1.函式重寫 在子類中定義與父類中原型相同的函式 函式重寫只發生在父類與子類之間 過載與重寫區別 過載 同乙個作用域 子類無法過載父類函式,父類同名函式將被覆蓋 過載是在編譯期間根據引數型別和個數決定 重寫 發生於父類 子類之間 父類和子類函式有相同的函式原型 使用virtual關鍵字宣告後能夠產生...