C#的基本概念

來源:互聯網
上載者:User
 

代理:代理的本質是對另一個類中的函數的引用,可以分排和使用函數而無需知道它來自哪個類,只要函數滿足同樣的介面就可以

 

C#中任何事物都看作對象。

 

受管語言被編譯成中間低層語言,使用通用語言運時(CLR)執行編譯後的代碼,或是進一步編譯這些代碼

受管語言都是垃圾自動收集的。垃圾自動收集語言負責釋放不用的記憶體,當變數,數組或對象被檢測不再被引用,就把相應的記憶體空間釋放回系統

 

每個控制項基本上都被聲明為一個變數,並被添加到一個容器裡。

 

C#中變數和類方法可以聲明為:

Public ;可以被其他類訪問

Private:沒有聲明預設形式,只能在類內部訪問

Protected:在類和其衍生類別裡訪問

通常將所有的類變數聲明為私人的,並且編寫getxxx,setxxx訪問函數來設定和擷取資料。 實現封裝原理,盡量不要讓類中的變數在類外直接被訪問。

 

若干個名字相同的方法,只要這些方法有不同的調用參數,實現重載—多態

 

Virtual 和 override

如果基類中有一個方法,而想在衍生類別中覆蓋它,應該把基類中的方法聲明為Virtual,它的含義是,讓衍生類別裡具有同樣名字和參數標識的方法被調用,而不是調用基類中的方法。在衍生類別中必須用override關鍵字聲明該方法。

基類

衍生類別

是否出錯

Virtual

override

否,執行衍生類別的

無Virtual

override

出錯

Virtual

無override

出錯

無Virtual

無override

否,警告,執行衍生類別

 

當不能把基類方法聲明為Virtual時,另外一種取代基類中方法的方式是在衍生類別中聲明方法時使用NEW關鍵字,這樣可以有效隱藏基類中同一名稱的方法。

例如:public new void xxxx(){}

 

Abstract 抽象類別

1 抽象方法必須在抽象類別裡

2 抽象類別裡的方法不需要都是抽象方法,但至少要有一個抽象方法。

3 抽象類別不可以被執行個體化,只能產生衍生類別。

4 一個抽象類別的方法都是抽象方法,則該類不能被繼承,也不能繼承其他類階層。

5 介面的衍生類別必須實現介面的所有方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.