***類***是物件導向語言的的乙個基本特徵,它是一種資料結構。
類可以理解為將現實生活中的食物進行抽象的結果,比如建立乙個person的類,人有身高體重年齡的基本屬性。
而類的例項化是指將類具體化,比如剛剛建立的乙個person的類,將他例項化之後,就具體到某乙個人,類的例項化需要用操作符new進行例項化。
class
person
//建立乙個類
person person1 =
newperson()
; person1.name =
"tom"
; person1.age =20;
//類的例項化,具體到某乙個人
用s的的乙個基本特徵,它是一種資料結構。
類可以理解為將現實生活中的食物進行抽象的結果,比如建立乙個person的類,人有身高體重年齡的基本屬性。而類的例項化是指將類具體化,比如剛剛建立的乙個person的類,將他例項化之後,就具體到某乙個人,類的例項化需要用操作符new進行例項化。csharp class person//建立乙個類 person person1 = new person(); person1.name = 「tom」; person1.age = 20;//類的例項化,具體到某乙個人。
而用static修飾的靜態類,不能例項化,只能用類名直接訪問。所謂靜態的類,就好像人的數量,增長速度,它不能用來描述具體的人,所以不能例項化,只能由類名直接訪問其成員。
類的成員
類的成員有欄位,屬性,索引器,方法,和建構函式等。
字段可用readonly(唯讀),const常量修飾,而用static修飾的表示靜態成員(與型別相關,不與物件相關),只能由類名訪問,類例項化的物件不能訪問。
屬性是對字段的擴充套件,因為為了避免客戶端對資料進行篡改,字段最好用private(私有的)進行修飾,而為了訪問類中的私有字段,屬性應運而生,屬性可以防止內外的不合法的資料汙染。
就像qq資料裡的年齡,我們不能填超過120歲,因為這不合理,通過屬性的訪問器及加入邏輯控制**,就可以對資料進行判斷處理。比如:
public
int age
set}
當我們給age賦的值不在0-120之間,程式就會丟擲異常。
在vs中打出prop在按兩下tab可以自動生成屬性,一般情況下,我們優先使用屬性。
索引器
索引器能使乙個物件像陣列一樣被檢索, 它的宣告類似與屬性,同樣有get,set訪問器
public
object
this
[int index]
set}
同樣在vs中,輸入indexer再按兩下tab可自動宣告乙個索引器。也可以像屬性一樣設定邏輯控制**來篩選資料 C 學習筆記 類的靜態成員
前言 靜態成員是指宣告為 static 的類成員 靜態資料成員 不屬於任何物件,不會因物件的建立而產生,也不會因物件的析構而刪除,它是類的一部分,所以使用靜態資料成員不會破壞類的隱蔽性。1 初始化 必須對靜態資料成員進行初始化,但它與一般資料成員不同,其初始化不能在建構函式中進行。一般格式 資料型別...
C 學習筆記(五) 類成員的定義
一 定義域 標準的宣告格式 class myclass 這種宣告格式的成員是可以對其進行初始化的。但是它是 myclass 的公有成員,可在例項化 myclass 的物件後進行初始化或修改操作。myclass myclass new myclass myclass.myint 1 域 成員 也可以使...
C 學習筆記34 類的static成員
靜態成員 不是任意物件的組成部分,但由給定類的全體物件所共享的資料成員或函式成員。靜態成員是與類關聯的物件,而不是像普通的成員那樣與類的物件相關聯。靜態成員可以是資料成員,或成員函式。靜態成員遵循正常的共有 私有訪問規則。通過關鍵字static宣告靜態成員。靜態資料成員必須在類定義體的外部定義,且只...