C#學習日記12---資料類型 之 參考型別(前言)

來源:互聯網
上載者:User
前面我們學習完了C#中簡單的資料類型----實值型別,後面學習C#中另一個資料類型----參考型別, "引用" 這個詞在這裡的意思是,該類型的變數不直接儲存所包含的值,而是指向他所要儲存的值,也就是說 參考型別儲存的是變數的地址 。C#中的參考型別有4種:

  • 代表

  • 數組

  • 介面

在這裡我先大致的介紹下各自的意義與定義的方式,後面我會具體寫執行個體來詳細介紹。

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

代表

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

數組

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

介面

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

以上就是C#學習日記12---資料類型 之 參考型別(前言)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.