面向對象編程複習

例1 帶參數的構造函數

在這裏插入圖片描述
分析代碼:
使用帶參數的構造函數的好處:可以輕鬆創建多個對象,如果是不帶參數的構造函數,會一一對productId和productPrice賦值,減少了大量代碼。

例2 字段和局部變量的使用

局部變量在某個方法或者循環體內定義的變量,其作用域僅限於它的語句塊內。
字段是類和結構的直接下屬,是整個類內部所有方法和事件都可以訪問的變量。
字段如果沒有初始化,C#會自動將其初始化默認值;
對於局部變量未賦值則出現報錯。

在這裏插入圖片描述

例3 靜態成員和實例成員

實例成員如字段、常亮、方法等,每創建一個對象這些成員就會被創建一次,創建多個對象時會出現很多相同的東西,這樣會導致資源的浪費。
靜態成員在內存中只佔一塊區域,解決實例成員浪費現象。
在這裏插入圖片描述
在這裏插入圖片描述

例4 訪問修飾符

類的訪問修飾符

(1)Public:公共類,不限制對類的訪問
(2)internal:在當前項目內可以被自有訪問。
(3)partial:分佈類型,類的定義和實現可以分佈在對個文件夾中,但都需要Partial標註
(4)如果未對類進行修飾,默認爲internal;

成員訪問修飾符

(1)public:共有訪問,外部類可以不受限制地存取這個類的數據和訪問其方法。
(2)private:私有訪問,類的數據成員和方法只能在此類中使用,外部無法存取。
(3)protected:保護訪問,類及派生類中的成員可以訪問,無法從類的外部進行訪問。
(4)internal:可以在當前項目內可以自由訪問,而對其他程序集來說無法訪問。
(5)protect internal:在當前項目中,只有類及派生類的成員可以訪問。
(6)未對成員進行修飾的字段默認爲private,在類的外部無法訪問。】
在這裏插入圖片描述

例5 構造函數

構造函數

構造函數具有以下特點:
(1)構造函數的名稱與類相同;
(2)構造函數不包含任何返回值;
(3)每個類至少有一個構造函數;
(4)構造函數在創建對象時自動調用,不能被顯式調用;
(5)構造函數的修飾符一般爲Public。
(6)靜態構造函數的修飾符常用Private;

析構函數

(1)析構函數的名稱與類名相同,但在名稱前需加一個符號~。
(2)析構函數不帶任何參數,也不帶任何返回值;
(3)析構函數不能使用任何訪問修飾符;
(4)析構函數的代碼只能進行銷燬工作,而不應執行其他操作。
(5)析構函數不能被繼承,一個類只能有一個析構函數。,在C#很少機會使用,一般是在釋放資源。在這裏插入圖片描述

例6 類的方法

C#有“值傳遞”和“引用傳遞”兩種參數傳遞方式
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章