c#是一門面對物件的程式語言,面對物件(簡稱oo,object-oriented),是一種編寫方式,直接從物件出發(不過這只是編寫方式,一樣要從整個流程看待需要編寫的程式,知道其過程)
萬物皆為物件
物件:物件的屬性 認作為物件的一類事物的靜態特徵
物件的方法 認作為物件的一類事物的動態特徵
物件=屬性+方法
以上是從面對物件角度出發理解
在c#中存在類的概念,類例項化為物件來使用,實現其功能
類就是具有相同或相似(多型實現)性質物件的抽象,類有屬性和方法,在c#具體實現有所差異
宣告類:
[訪問修飾符] class 類名
類命名一般大寫開頭
訪問修飾符: 要訪問物件的訪問許可權(在c#中要訪問的是類與類的成員)
public,private,internal,protected,protected internal
作用物件分為兩類:
作用於類:其它程式的類 對這個類的訪問許可權,如:using 命名空間,使用類庫里的類
public 最高訪問級別,對所有程式可見
private 最低訪問級別,只用本程式可訪問
internal 同一程式集中可訪問
作用於類的成員:其它類 對這個類的成員的訪問許可權
public 所有類都可以訪問
private 本類才可以訪問
internal(內部的) 同一程式集裡的類(本類和其他類)可以訪問
protected 本類或派生類訪問
protected internal (internal與protected的結合)派生類或同一程式集的類才可以訪問
相當於乙個保險箱,先知道保險箱的位置(對類的訪問),輸入密碼拿取裡面的東西(對類成員的訪問)
class不加修飾符,預設為internal
類成員不加修飾符,預設為private
介面沒有顯示的修飾符,介面與其成員預設為public
部分類:把乙個類分成兩個類,類名相同,訪問修飾符一致,不能有同名元素
關鍵字 partial
public
partial
class
student
public
partial
class
student
建立物件:
類名 物件名=new 類名(建構函式的引數列表);
eg: cat c=new cat();;
類的成員:
1.欄位
訪問修飾符 資料型別 欄位名;
2.屬性
屬性是字段的一種自然擴充套件,是訪問欄位的工具
屬性通過get訪問器的return讀取欄位的值
通過set訪問器的value設定欄位的值
private
string name;
public
string name
set}
自動屬性:
可自動生成字段
public
string age
索引器:
是一種特殊的屬性,索引器引用的不是字段變數,而是陣列
只能應用於陣列這種有序序列,集合這種有序序列無法使用,因為索引值大小超過了集合大小
static
void
main
(string
args)
}class
dayarray
//陣列名字
set}
}
3.方法(函式)
建構函式:
在類例項化時一定會執行的方法,用於類的初始化。
不顯示宣告構造方法,編譯器會自動為類宣告乙個空的構造方法。
建構函式必須與類名同名
建構函式沒有返回值
建構函式可以過載,為初始化類提供不同的方法
訪問修飾符 類名(引數列表)
構造方法分兩種:
預設建構函式:不帶引數
不是預設建構函式:帶引數
析構函式:
用於在物件生命週期結束時,執行釋放記憶體空間,**以分配資源
沒有引數,沒有修飾符,不能過載(只有乙個)
~ 類名()
類的成員分兩種:
靜態成員:歸類所有,使用static關鍵字修飾,指向同乙個儲存位置,靜態成員時共享的
動態成員(例項成員):歸物件所有,不使用static關鍵字修飾,不指向同乙個儲存位置,每次建立新的物件,都會建立新的位址,動態成員一旦隨著物件建立以後,每次修改值都互不影響
在類的內部
例項方法可以訪問例項成員,可以訪問靜態成員
靜態方法只能訪問靜態成員
在類的外部
類名.靜態成員
物件名.動態成員
this指標:指向當前正在執行的類的例項物件
靜態方法不能使用this指標,因為靜態成員不屬於某個具體物件
初識c 面對物件
語法 public class 類名 寫好乙個類之後,我們需要建立這個類的物件 建立這個類的物件的過程稱之為類的例項化。關鍵字 new 類是不佔記憶體的,物件是佔記憶體的。作用 保護字段,對字段的賦值和取值進行限定。本質就是兩個方法,乙個叫 get 乙個叫set 既有get 也有set 我們誠之為可...
c 面對物件繼承
可以認為類是屬於命名空間的 如果在當前專案中沒有這個類的命名空間,我們需要手動匯入這個類所在的命名空間 alt shift f10 快捷鍵 在乙個專案中引用另乙個專案的類 1.新增引用 2.引用命名空間 區別 1.值型別和引用型別在記憶體上儲存的地方不一樣。2.在傳遞值型別和傳遞引用型別的時候,傳遞...
面對物件多型 C 面對物件設計學習資料(多型)
c語言初學 態性是指相同的行為可能於多種型別的隊形上獲得不同的結果。不同的物件,收到同一訊息的可能產生不同的結果,這種現象稱為多型。多型可分為靜態多型和動態多型兩種。多型的優點 組織結構清晰 可讀性強 利於前期和後期的擴充套件和維護。靜態多型 函式和運算子過載。2.動態多型 這 呼叫dospeak ...