C 中形態各異的class

2022-09-19 21:18:27 字數 3970 閱讀 2484

普通

靜態

抽象

密封

分部

修飾關鍵字

無static

abstract

sealed

partial

構造函式呼叫時機

例項化(new)時

內部任意靜態成員呼叫時

子類例項化(new)時

例項化(new)時

例項化(new)時

包含成員

字段屬性

方法事件

索引器運算子過載

自定義型別

靜態字段

靜態屬性

靜態方法

靜態事件

自定義型別

普通類所有的成員

抽象屬性

抽象方法

抽象事件

抽象索引器

與普通類所有的成員

與普通類所有的成員

特徵

可例項化(new),可繼承

只有乙份,直接用類名呼叫

必須子類例項化

不能有子類

實質就是把乙個類分成多個部分來寫,類名相同

#region 普通類

/// /// 普通類

///

public class commonclass

/// /// 自定義委託型別

///

public delegate void mydeleaget();

/// /// 建構函式

///

public commonclass()

/// /// 字段

///

private string _myfield;

/// /// 屬性

///

public string myproperty

/// /// 方法

///

public void mymethod()

/// /// 事件

///

public event mydeleaget myevent;

/// /// 運算子過載

///

///

///

///

public static commonclass operator +(commonclass a, commonclass b);}

/// /// 索引器集合

///

double _arr;

/// /// 索引器

///

///

///

public double this[int index]

set}

}#endregion

#region 靜態類

public static class staticclass

/// /// 靜態方法

///

public static void staticmethod()

/// /// 靜態屬性

///

public static string staticproperty

/// /// 自定義委託型別

///

public delegate void mydeleaget();

/// /// 字段

///

private static string _myfield;

/// /// 事件

///

public static event mydeleaget myevent;

}#endregion

#region 抽像類

/// /// 抽像類

///

public abstract class abstractclass

/// /// 自定義委託型別

///

public delegate void mydeleaget();

/// /// 屬性

///

public string myproperty

/// /// 方法

///

public abstract void mymethod();

/// /// 事件

///

public abstract event mydeleaget myevent;

/// /// 索引器

///

///

///

public abstract double this[int index]

}#endregion

#region 密封類

/// /// 密封類

///

public sealed class sealedclass

/// /// 自定義委託型別

///

public delegate void mydeleaget();

/// /// 字段

///

private string _myfield;

/// /// 屬性

///

public string myproperty

/// /// 方法

///

public void mymethod()

/// /// 事件

///

public event mydeleaget myevent;

/// /// 運算子過載

///

///

///

///

public static sealedclass operator +(sealedclass a, sealedclass b);}

/// /// 索引器集合

///

double _arr;

/// /// 索引器

///

///

///

public double this[int index]

set}

}#endregion

#region 分部類

/// /// 分部類1

///

public partial class partialclass

/// /// 自定義委託型別

///

public delegate void mydeleaget();

/// /// 字段

///

private string _myfield;

/// /// 屬性

///

public string myproperty

/// /// 方法

///

public void mymethod()

/// /// 運算子過載

///

///

///

///

public static partialclass operator +(partialclass a, partialclass b);}

/// /// 索引器集合

///

double _arr;

}/// /// 分部類1

c 中class 中的this指標

1.this指標的經典描述 當你進入乙個房子後,你可以看見桌子 椅子 地板等,但是房子你是看不到全貌了。對於乙個類的例項來說,你可以看到它的成員函式 成員變數,但是例項本身呢?this是乙個指標,它時時刻刻指向你這個例項本身 2.this指標的使用 一種情況就是,在類的非靜態成員函式中返回類物件本身...

C 中struct和class的差別

在c 中,struct和class除了預設訪問控制級別不一樣,其它別無二致,具體怎麼用,純屬於個人習慣。另 在stroustrup c 發明者 的原作中 他自己說的原句是 按照定義,乙個struct就是乙個類,而只是完全公開的類 所以 struct s 等價於class s public 也就是說,...

C 中class與struct的區別

類與結構的例項比較 類與結構的差別 如何選擇結構還是類 一 類與結構的示例比較 結構示例 類示例 呼叫過程 從上面的例子中我們可以看到,類的宣告和結構的宣告非常類似,只是限定符後面是 struct 還是 class 的區別,而且使用時,定義新的結構和定義新的類的方法也非常類似。那麼類和結構的具體區別...