文章目錄
- 類的概念
- 類的定義
- 實例
- 例子分析
- 類的成員
- 數據成員
- 屬性成員
- 方法成員
- 靜態成員
|
類的概念
在日常生活中,類是對具有相同特性的一類是物的抽象。比如水果是一個類,它是對蘋果、梨所有具有水果特性的食物的抽象,而這個類中所包含的具體的某一個蘋果,某一個梨等個體就是對象。
不同的類具有不同的特征。
如何快速理解類與對象呢?一般大家會教你類是什么,然后對象是類的實例。我今天反過來給大家解釋一下。
有一天我們想吃水果,來到菜市場,菜市場就是我們的程序包含很多內容;之后我們來到水果攤前,水果攤就相當于水果這個類;告訴老板我要一個石榴,石榴就相當與對象。我們發現這就是我們日常生活中的思維方式。那么將生活運用到工作當中,運用到程序設計當中,就是我們所說的類與對象。
也就是說我們把具有相同屬性或者說類似的內容,歸為一類。我們對這一類進行一個描述(抽象),之后我們在使用這一類里的東西就有了一個索引(水果)。我們將一個類的實例稱為類的對象(水果里邊的石榴)。
還不懂私信我,主頁有qq
類的定義
類的定義使用 class關鍵字
- 語法格式如下:
[訪問修飾符] class 類名 {//類的主體 }
其中,訪問修飾符可以是 public、protected、internal、private和protected internal等。class是聲明類的關鍵詞,類名是自己定義的類的名稱,大括號中聲明的是類的成員。其中“訪問修飾符”可以省略。
- 對類的訪問控制權限需要用訪問修飾符來定義:
運算符 說明 public 對類的訪問不受限制,就像餐廳,誰都可以進去吃飯 protected 對類的訪問僅限于包含類或從包含類派生的類,就像員工餐廳,只有公司員工與子公司員工才能進去吃飯 private 訪問僅限于包含類,就像私人會所,不對外開放 internal 訪問僅限于當前項目,就像其他公司派到公司工作的也可以去員工餐廳吃飯。 protected internal 同時擁有protected、internal的訪問權限。 類名一般使用帕斯卡命名法,即首字母大寫,通常命名類采用完整的英文單詞
實例
定義電話類,類中定義兩個類成員,來表示電話的品牌和機型。
新建一個控制臺程序,主程序修改如下:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace test {class PhoneClass{public string brand;public string type;}class Program{static void Main(string[] args){PhoneClass Phone = new PhoneClass();Phone.brand = "huawei";Phone.type = "5G";Console.WriteLine("手機品牌是:" + Phone.brand);Console.WriteLine("手機種類是:" + Phone.type);Console.ReadKey();}} }
運行結果:
例子分析
在這個程序中,代碼比較簡單。我么選擇創建控制臺應用項目程序,然后向程序中加入了一個簡單的電話類。并生成了一個電話對象,并用控制臺輸出它。
類的成員
組成類的元素稱為類的成員,類的成員主要包括描述狀態的數據成員和描述操作的函數成員。函數成員提供了操作類中數據的某些功能,包括屬性、方法、索引器、事件、運算符、構造函數和析構函數等。
數據成員
類的數據成員包括字段、常量和事件。字段就是在類中定義的變量,用來存儲描述類的特征的值。
- 成員變量的定義語法為:
[訪問修飾符] 數據類型 成員變量名
其中在聲明成員變量時使用不同的訪問修飾符來定義他們的訪問級別,可以是public、private、protected、internal等,其含義和類的訪問修飾符類似。
屬性成員
屬性是字段的一種自然拓展,是一個與類或對象相關聯的命名。與字段不同的是,屬性不表示儲存位置,屬性擁有訪問器,訪問器定義了讀取或者寫入屬性值時必須執行的代碼。通過get{}訪問器和set{}訪問器來實現對類中私有字段的讀寫操作。為了類的封裝性,一般把描述類的特征的字段定義為private,把屬性設為public來操作私有字段。
- 定義屬性成員的語法格式如下:
[訪問修飾符] 數據類型 屬性名 {get{} //get訪問器set{} //set訪問器 }
其中屬性的訪問修飾符是用來指定方法的訪問級別,主要的訪問修飾符和數據成員的訪問修飾符一樣。屬性方法的命名通常使用帕斯卡命名法,即首字母大寫。
這里不做解答,可以看我以前寫過的的博文,理解訪問器。鏈接如下:
set()與get()詳細解答(C#)https://blog.csdn.net/cashmood/article/details/100559325方法成員
方法是用來描述對象的行為的,對類的書據成員的操作都封裝在類的方法中。方法的主要功能是操作數據,沒有方法的程序是沒有意義的,就像電話如果不具備打電話功能,那么他就不叫電話了。
- 方法的聲明格式如下:
[訪問修飾符] 返回值數據類型 方法名(參數列表) {//方法主體 }
- 方法的訪問修飾符是用來指定方法的訪問級別的
- 方法的返回值類型可以是任意一種C#類型,如果沒有返回值則為void
- 方法的命名建議采用名詞動詞結合的組合表示
- 方法可以有參數,也可以沒有參數
- 方法要具有完成一定功能的完整代碼
靜態成員
靜態成員和類是相關聯的,不依賴于特定的對象,可以作為類中共有的成員。如果類的某個方法成員聲明時使用了static關鍵字,該成員就變成了靜態成員。在類中可以定義為靜態成員的有字段、方法、屬性、運算符、事件和構造函數等,但不能是索引器、析構函數。靜態成員可以直接使用,不必創建對象,可通過類名.靜態成員方式使用靜態成員。靜態成員為類的所有對象所共享,非靜態成員也叫做實例成員,實例成員屬于具體的對象。
- 博主簡介:
- 工業自動化上位機軟件工程師、機器視覺算法工程師、運動控制算法工程師。目前從業于智能制造自動化行業。 博主郵箱:2296776525@qq.com
- 幫忙點個贊吧。哈哈。