C#中 類的成員
阿新 • • 發佈:2019-01-06
C#中類的成員有 方法, 建構函式(解構函式),欄位,屬性;對初學者值得一提的是隻有類和類成員才有訪問修飾符;1,方法。方法又稱函式 類中的方法和正常的方法差不多 只是前面有訪問修飾符,用的時候用物件名點兒出來;靜態的方法不用例項化,非靜態的方法必須例項化,靜態的方法在程式一旦啟動不論是否new其所在類都會駐留記憶體,對系統的佔用相對來說比非靜態的方法佔用大,但是由於其使用方便,呼叫快捷,還是很值得一用的,一般推薦頻繁被呼叫的方法可以考慮使用靜態的,可以提高專案效能。 方法是通過指定 修飾符 返回值型別 方法名稱 引數列表(引數) 方法簽名+方法體下面是根據引數型別將方法進行分類(共5種) 形參 實參 型別相匹配obj型別(1)值型別引數(2)引用型別引數:比如陣列,一個改變影響另一個(3)out型別引數:出參 必須在引用的函式中賦值(優點 返回多個返回值)只從本函式傳到Main 單向傳遞引數 static void Main(string[] args)//{ int i=0;//不必賦值 // Add(out i); // Console.WriteLine(i);//static void Add(out int i) //{ // i = 100;//必須賦值; //} ////out相當於把 i 轉換成引用型別(4)ref型別引數:雙向傳遞引數 帶進 帶出; static void Main(string[] args) { int i = 10; Add(ref i); Console.WriteLine(i); } static void Add(ref int i) { Console .WriteLine (i); i=100;//不必賦值 因為可以接受main函式的i }(5)params型別引數:只能用於一維陣列;static void Main(string[] args) { Add(1, 1, 2, 3, 5, 5325); } static void Add(params int[]arr) { foreach (int i in arr) Console.WriteLine(i); } static void Main(string[] args) {int [] arr=new int [3] {1,2,3}; Add(arr); Add(12, 3); } static void Add(params int[]arr) { foreach (int i in arr) Console.WriteLine(i); }下面是其他的方法(1)分部方法 ,,必須出現在分部類中分部類是partial關鍵定義的,分部類可以分佈在幾個資料夾中的,由多個程式設計師編寫,但很少用!可以有ref 不可以有out 預設訪問修飾符private(2)擴充套件方法 已有的型別加了方法 儘量使用繼承 不使用擴充套件 但string無子類 所以必須擴充套件 靜態類! (3)命名引數 就是在呼叫的時候加“:“ 這樣就可以不顧實參的順序! 錯 對形實引數名必須相同!(4)可選引數 待更新。。2,訪問修飾符public internal private protect protect internalpublic 所有都可用internal 專案中可用 exe dll 內private 當前類中 protect 父子類中 繼承中protect internal protect 和internal的並集3,建構函式(解構函式)建構函式名與類名相同,且沒有返回值!new 的時候就呼叫了建構函式 每個類中都有一個預設的函式建構函式 可以有過載 有參(new的時候可以直接加實參)和無參 建構函式還有 靜態(只可呼叫一次且優先,可以對靜態欄位和只讀欄位賦初值)和非靜態 4,欄位。欄位一般都是私有的private 可通過屬性間接set 和get;欄位有constx型的 如果欄位前面有const,呼叫時得用類點出來。且欄位不能改變;readonly的欄位 呼叫用物件呼叫 且可在建構函式中改變;靜態的只讀欄位 可用靜態建構函式賦初值!5,屬性。 可只有get或set ! get set可以加修飾符!其中value是代替值!!!!