C Nut Shell 第三章 建立型別

2021-09-26 16:13:49 字數 1742 閱讀 3527

1.field

2.readonly只有在建構函式中才能賦值

3.欄位初始化在構造器之前執行

區域性方法

static void main(string args)

可以通過呼叫this呼叫別的構造器

public class person

public person(int a): this()

}

public string name實際上後台幫我們預設生成了乙個欄位來儲存

每個型別的靜態構造器只會執行一次,每個型別只能定義乙個靜態型別構造器。

例項化第乙個型別時會執行一次靜態構造器,或者訪問裡面的靜態成員時。

靜態字段初始化器會在靜態構造器前執行

partial

可以返回任何符號的字串名稱

乙個類只能繼承乙個類,但是可以繼承多個介面。也可以繼承乙個類,同時繼承介面,但是類得寫在前面。

多型向上轉型:子類轉型成父類,可以隱式轉換

向下轉型:父類轉型成父類,必須顯示轉換

as:將某個型別轉換成另外乙個型別,如果轉換成功則返回新的型別,轉換失敗則返回null,只能用於引用型別,不能用於值型別

is:判斷某個型別是否相容其他類或者介面 if(b is classa a),返回bool值

虛函式成員:子類可以重寫

抽象類和抽象成員:抽象類不能例項化,抽象類不提供抽象成員的實現,子類必須提供

隱藏繼承成員:子類定義與父類相同的成員

密封函式和類:sealed可以使虛函式無法被重寫,或類無法被繼承

base:從子類訪問重寫的基類函式成員,使用基類的構造器

裝箱:將值型別例項轉換為引用型別例項

拆箱:將object型別轉換成原始型別

裝箱拆箱是複製行為,修改裝箱後的值不會改變原來的值

gettype:在型別例項上使用

typeof:在型別名稱上使用

訪問許可權修飾符

public:完全訪問許可權

internal:僅可以在程式集內訪問

private:僅可以在包含型別中訪問

protected:僅可以在包含型別或子類中訪問

介面方法是預設抽象的。

介面可以繼承其他介面。當多個介面出現衝突時需要顯示實現方法

介面的子類中的方法也可以設定為abstract和virtual

預設的列舉值是int,從0開始。也可以指定其他型別 enum a:byte

列舉型別轉換:(int)enum, enum.tostring, (enum)enum.a

列舉型別可以使用|和&,來合併物件,但是列舉值必須全部指定值

列舉值可以超出定義它的值

1.stack是開放型別,stack是封閉型別,在執行時,所有泛型都是封閉型別。只有在類或者方法的內部t才可以被當做型別使用,在外部無法使用t。

2.有些泛型方法看起來不是泛型,只要是因為編譯器可以推導出某些泛型的型別,自動幫我們優化了。

3.只有引入型別引數的方法才能叫泛型方法

4.default可以獲取泛型引數的預設值

5.約束

where t

6.泛型類也可以被繼承,繼承後可以定義新的類

7.靜態型別對於每乙個封閉的泛型型別來說都是唯一的

8.協變,泛型的子類可以隱式轉化成父類  使用out 修飾,只能用作返回

9.逆變,將父類轉化成子類,使用in修飾,只能用作輸入

10.只有介面和委託可以使用out和in

MSAJAX第三章 JS建立類 1

1.用到ajax型別 2實現3.注意點 4.用例 我們要用ajax的js寫乙個物件導向的類,首先我們必須理解ajax中的type類,在定義類時乙個需要定義這個類的名字空間,我們在寫js指令碼時在寫類似與名字空間往往很困難或很反鎖,在使用js指令碼時也很可能在多個指令碼引用會出現重名的現象,導致出現名...

第三章 類和成員

1 類和結構 1 類和結構實際上都是建立物件的模板,每個物件都包含資料,並提供了處理和訪問資料的方法。class phonecustomer 2 結構與類的區別是它們在記憶體中的儲存方式 類是儲存在堆 heap 上的引用型別,而結 構是儲存在堆疊 stack 上的值型別 訪問方式和一些特徵 如結構不...

第三章 堆疊

1.基礎知識 堆疊可以實現很多的應用,遞迴的問題轉化成非遞迴形式,在本質上也是堆疊的問題.它是一種 filo 操作的資料結構,一般也有兩種儲存方式 陣列跟鍊錶實現形式,這裡我給出了鍊錶形式的堆疊模板,裡面包括了基本的堆疊所有的操作,還有兩個比較著名的應用例子,時間倉促,精力比較有限,關於迷宮老鼠還沒...