C 基礎知識整理 C 類和結構(2)

2021-08-26 22:56:17 字數 1847 閱讀 7089

1、什麼是建構函式? 有哪些建構函式? 各個建構函式的定義、實現方法、注意事項?

所謂建構函式,就是乙個方法,這個方法可以初始化物件,即執行完這個函式後,記憶體總開闢了一塊該類的物件的空間。有三種:正常的建構函式,也就是例項化建構函式;私有建構函式;靜態建構函式。

例項化構造器:

public class example

public example(string p1, string p2, int p3)//傳入的值初始化

}

私有構造器:

私有構造器,外部是不能訪問的,那麼如何例項化呢,參見單例模式,這裡就是用了私有建構函式:

靜態建構函式:

先看例子:

public class staticconstruct

public staticconstruct()

public staticconstruct(string flage)

}class program

}

結果:

靜態建構函式特點:靜態建構函式中不允許出現訪問修飾符;例項化的時候,首先自動呼叫靜態建構函式,意即呼叫靜態建構函式是不可控的;靜態建構函式是無參的,並且乙個類中只有乙個;不能被繼承。

2、this關鍵字和base關鍵字用途? 實現**?

(1)、this關鍵字:

this顧名思義,就是指本類中的意思,引用當前類的成員。當然如果程式在執行中,則可以精確地說,this指當前類的物件的成員,作用就是用來區分物件的。因為乙個類可以有n個物件。不過在static類中不能使用this關鍵字,究其原因,無非是static不可能例項化多個物件,它只有乙個,自然沒必要去用this來區分物件了。一般常用如下:

a、方法或建構函式中,同名變數。

public class mytesta

public void handler(string testa)

}

b、get,set方法

public class mytestb

set }}

c、將例項傳遞

比如,事件中

public class mytestc

}private void testevent()

}public class mytestd

}public mytestd()

void testc_ontestevent(object sender, eventargs e)

}public class myteste

void testd_ontestdevent(object sender, eventargs e)}}

(2)base關鍵字:

一般用於,子類訪問父類。

一種是,重寫父類方法時,

public class parentclass

}public class childclass : parentclass

}

另一種,子類呼叫父類建構函式,

public class parentclass

public virtual void methoda()

}public class childclass : parentclass

public override void methoda()

}

3、什麼是反射? 如何實現反射? 反射有何優缺點? 何時使用反射?

C 基礎知識整理 C 類和結構(2)

1 什麼是建構函式?有哪些建構函式?各個建構函式的定義 實現方法 注意事項?所謂建構函式,就是乙個方法,這個方法可以初始化物件,即執行完這個函式後,記憶體總開闢了一塊該類的物件的空間。有三種 正常的建構函式,也就是例項化建構函式 私有建構函式 靜態建構函式。例項化構造器 public class e...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...