c# 面向對象編程(總結)

屬性

  1、隱藏成員變量,增加程序的靈活性、健壯性。

  2、可以實現對數據驗證,看數據是否合法。

  3、屬性可認爲是中特殊的方法,並不僅僅是封裝數據。

  4、vs.net插入代碼段:再續插入屬性的地方輸入prop,然後按<Tab>則系統回自動填充屬性框架。減少了代碼的編寫量。

構造函數與析構函數

  1、構造函數用於對實例變量的初始化,無返回參數,且不可用void顯示錶示返回類型爲空。其函數名和類名必須完全相同。另外,構造函數可調用該類中其他構造函數(this關鍵字實現),也可調用基類中構造函數(base關鍵字實現)。

  2、析構函數與構造函數相對應,其在對象被釋放之前調用。其函數名錶示方法爲在類名前加‘~’。其執行時間是不確定的,因爲c#中內存回收是通過CLR實現的,當內存可用資源小於下限時,才進行垃圾回收,此時析構函數纔將要被執行。

重載

  1、方法重載:同一類中,方法名相同,參數類表不同。

  2、運算法重載:public static 返回類型 operator 符號(參數列表){}

  3、類型轉換運算符:public static explicit(顯式轉換)|implicit(隱式轉換) operator 轉換目的類型(參數類表){}

繼承

  1、方法隱藏:訪問修飾符 new 返回類型 方法名(參數列表){}

  2、虛方法:訪問修飾符 virtual 返回類型 方法名(參數列表){}

  3、方法重寫:訪問修飾符 override 返回類型 方法名(參數列表){}

說明:

    1、new方法隱藏,對象所執行的方法由對象所定義的類型決定。

    2、virtual、override虛方法,對象所調用的方法由對象的實際類型所決定。

抽象類與密封類

  1、抽象類由關鍵字abstract定義,其不能實例化變量。

  2、抽象類可含有抽象方法(只含有方法簽名,不含有方法體):訪問修飾符 abstract 返回類型 方法名(參數列表);

  3、派生類繼承抽象類時,必須重寫抽象類中的抽象方法。

  4、密封類由關鍵字sealed定義,其不能有派生類。

this和base

  1、this表示當前實例,對於靜態成員,不能使用this。

  2、base表示當前類的基類,可以使用base調用父類的方法。

  3、這連個關鍵字還可實現構造函數的調用(見上);

發佈了25 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章