C#中面向對象的OOP概念

一、C#的對象和類
對象是包含數據和操作的實體,它既定義數據元素,又定義可應用這些數據元素的操作。
是對一組具有相同屬性和行爲的對象的描述,類的內容稱爲類的成員。
聲明類的語法:
訪問修飾符 class 類名
{
  //類的主體
}
給類命名應使用帕斯卡命名法,確保類的名稱是一個名詞。
類的主題包含成員變量和成員方法
聲明成員變量語法:
訪問修飾符 數據類型 成員變量名;
編碼慣例:
公共成員變量、受保護成員變量和內部成員變量應使用帕斯卡命名法。
如:public string Name;
私有成員變量應使用駱駝命名法,並以下劃線開頭。
如:private string _name;
創建類的實例或對象,用C#的net關鍵字。

二、訪問修飾符:
訪問修飾符      說明
public                可被所屬類的成員以及不屬於類的成員訪問
internal               可被當前程序集訪問
protected            可被所屬類或派生自所屬類的類型訪問
private               僅所屬類的成員纔可以訪問
如果對類不指定訪問修飾符,則類的默認訪問修飾符爲internal,但是類成員的默認訪問修飾符爲private

三、構造函數和析構函數
1、什麼是構造函數
構造函數是類中的一中特殊方法,每次創建類的實例時都會調用此方法。
構造函數一般用來自動初始化成員變量,但也可以根據需要執行其他的動作
構造函數與類同名,不返回任何值
2.聲明構造函數的語法:
訪問修飾符 類名()
{
         //構造函數的主體
}
沒有參數的構造函數爲默認構造函數,這種構造函數不接受任何參數。
如果類未定義默認構造函數,運行庫將自動提供默認構造函數。
3.帶參數的構造函數
訪問修飾符 類名(參數)
{
         //構造函數的主體
}
4.什麼是析構函數
析構函數是C#的另一種特殊方法,用語執行清楚操作。析構函數不接受任何參數,也不帶任何訪問修飾符,析構函數主體包括的一些代碼通常用於關閉有實例打開的數據庫、文件或網絡連接等。
注意:
一個類只能有一個析構函數。
析構函數不能重載。
析構函數不能顯示或手動調用,只能有垃圾回收器自動調用。
語法:
~類名()
{
         //析構函數的主體
}

四、方法
1、聲明方法
訪問修飾符 返回值類型 方法名(參數)
{
         //方法主體
}
注意:
如果不返回任何值,則返回值類型爲void,參數列表是由逗號分割的零個或多個變量聲明列表,它是可選的。
默認的訪問修飾符爲private
編碼慣例:
給成員方法命名應使用帕斯卡命名法,請確保方法的名稱爲動詞或動詞與對象組合。
2、調用方法
調用C#方法首先要創建對象實例,在用成員訪問運算符點來調用方法
如:對象名.方法名([參數列表]);
在方法內使用return [表達式]語句用語將控制權交回調用程序。
3.方法重載
方法共用一個名稱但對不同數據執行相似的功能,這種概念稱爲方法重載,不同的方法根據方法簽名來識別,方法簽名包括對方法的聲明。每個重載方法的方法簽名都應該是唯一的。
如下:
……

Class Books
{
         void PayBill(int indix)
          {
                //方法主體
            }

         void PayBill(string name)
          {
                //方法主體
            }

         void PayBill(int indix,string name)
          {
                //方法主體
            }
}



注意:
可根據不同數量的參數來重載方法,每個被重載的方法都有不同的參數
可根據不同類型的參數來重載方法,參數的數量保持不變。
4、靜態方法
靜態方法就是一個類的所有實例共享的方法
語法:
訪問修飾符 static 返回值類型 方法名(參數列表)
說明:
訪問靜態方法的時候不需要創建類的實例,採取“類名.方法名”即可,Console.Write()就是Console類的一個靜態方法。

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