首頁  >  文章  >  後端開發  >  C#學習日記12---資料型態 之 引用型別(前言)

C#學習日記12---資料型態 之 引用型別(前言)

黄舟
黄舟原創
2017-01-20 13:48:311466瀏覽

 前面我們學習完了C#中簡單的資料類型----值類型,後面學習C#中另一個資料型別----引用類型,"引用" 這個字在這裡的意思是,該類型的變數不直接儲存所包含的值,而是指向他所要儲存的值,也就是說引用型別儲存的是變數的位址 。 C#的引用類型有4種:

  •     類

  •  代表

  •  先大致的介紹下各自的意義與定義的方式,後面我會具體寫實例來詳細介紹。

  •  
  • 類別

  •       類別是物件導向編成的基本單位,是一種包含資料成員、函數成員和巢狀類型的資料結構。類別的資料成員有常數、域、和事件;函數成員包括方法、屬性、索引指示器、運算子、建構子、析構函式;類別和結構(struct)都包含了自己成員,但他們之間最主要的差異在於:類別是引用型,而結構是值型別。類別支援繼承機制,透過繼承衍生類別可以擴展基底類別的資料成員和函數方法,進而達到程式碼重用與設計重用的目的。 (有關類別的繼承、衍生會放在後面細說,下一篇會寫類別的定義),當您定義一個類別時,您定義了一個資料類型的藍圖。這實際上並沒有定義任何的數據,(因為是地址嘛) 但它定義了類別的名稱意味著什麼,也就是說,類別的物件由什麼組成及在這個物件上可執行什麼操作。物件是類別的實例。構成類別的方法和變數成為類別的成員。如果我們對某個類別定義了一個變量,我們稱它為類別的一個實例(也可以叫對象,總之以後就的改口啦)。再提一下,C# 中2個常用的類別 Object類別 和 String類,也放在後面細說。

 代表

          C# 中的代表(也叫委託,Delegate),它與C/C++中的指針類似,但是指針在C/C++中是不安全的,有可能一個意外的刪除會造成整個程序整個程序在C/C++中是不安全的,有可能一個意外的刪除會造成整個程序整個程序的崩潰,而Delegate在C#中是安全的。 Delegate 引用的是某個方法,派生自 System.Delegate 類,當定一個Delegate 就是對System.Delegare的擴展。具體有關用法後面細說。

 

 數組

         進行批次處理資料的的時候,我們會用到數組,且與C/C++一樣,數組是一組類型相同的有序資料,用來儲存資料的集合,依照陣列名稱、資料元素的型別和維數來描述。 C#中提供的System.Array是所有陣列類型的基底類別。數組中某個指定的元素是透過索引來存取的。所有的數組都是由連續的記憶體位置組成的。最低的位址對應第一個元素,最高的位址對應最後一個元素。

 

介面

        介面定義了所有類別繼承介面時應遵循的語法合約。介面定義了語法合約 "是什麼" 部分,而衍生類別定義了語法合約 "怎麼做" 部分。介面定義了屬性、方法和事件,這些都是介面的成員。接口只包含了成員的聲明。成員的定義是派生類別的責任。介面提供了衍生類別應遵循的標準結構。抽象類別在某種程度上與介面類似,但是,它們大多只是用在當只有少數方法由基底類別聲明由衍生類別實作時。 (也就是說介面中只提供方法的聲明,具體怎麼做由繼承他的子類別來決定。例如我給5個人每人100元,他們拿這100元具體幹什麼就不關我的事了,我只負責提供錢)介面使用interface 關鍵字聲明,它與類別的聲明類似。介面聲明預設是 public 的。透過介面可以實現多重繼承。 (後面細說)

 

以上就是C#學習日記12---資料類型 之 引用類型(前言)的內容,更多相關內容請關注PHP中文網(www.php.cn)!

 

 

 

 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn