C#物件導向要點

來源:互聯網
上載者:User

標籤:color   使用   java   strong   資料   on   代碼   bs   c   

     靜態成員可以在類的執行個體之間共用,可以把它看做是類的全域變數。靜態屬性和靜態欄位可以訪問獨立於任何對象執行個體的資料,靜態方法可以執行與物件類型相關、但與類型執行個體無關的命令,在使用靜態成員時,可以不用執行個體化對象。

 

     靜態類當我們希望類只包含靜態成員,且不能用於執行個體化對象時,一種簡單的方法是使用靜態類(如Console),而不是把建構函式設定為private。靜態類只包含靜態成員,不需要執行個體建構函式,可以有一個靜態建構函式。

 

     介面是把特定的公用方法和屬性群組合起來,以封裝特定功能的一個集合,用於需要介面定義功能的類來實現它。介面不能單獨存在,不能執行個體化介面。介面不能包含其成員的實現代碼,只能定義成員。實現過程必須在實現介面的類中實現。

 

     繼承C#和Java都是單繼承,被繼承的類稱為基類,衍生類別不能訪問基類的private成員,可以訪問public和protected成員。基類的成員可以是虛擬,在衍生類別中可以重寫它。類可以是密封的(sealed),密封類不能被繼承。C#中所有對象有共同的基類object

 

     多態性同樣的指令對於不同的對象會有不同的反應,這就是多態。多態性是因為繼承產生的,繼承導致子類和父類之間有方法和屬性之間的重疊,可以使用相同的文法處理從同一基類執行個體化的對象。衍生類別執行個體的對象可以直接賦值給基類對象,不需要進行類型轉換,然後基類對象可以調用衍生類別的成員,但不能調用除子類自己定義的方法。介面也有多態性。

 

    internal修飾的類只能在當前項目的代碼中才可以訪問它。

 

     abstract修飾的類不能執行個體化,只能繼承。sealed修飾的類只能執行個體化,不能繼承。一個類只能有一個基類,如果繼承了抽象類別,就必須實現所繼承的所有抽象成員(除非衍生類別也是抽象的)。編譯器不允許衍生類別的可訪問性比其基類還高。abstract和sealed關鍵字不允許在介面中使用。介面沒有繼承object。

 

     介面和抽象類別 都可以被繼承,都不能被執行個體化,但可以申明變數。衍生類別只能繼承一個抽象類別,但可以使用多個介面。抽象類別可以有抽象成員和非抽象成員(有代碼體,也可以是虛擬,這樣可以在衍生類別中重寫)。介面成員都必須在使用介面的類上實現。介面不能包含欄位、建構函式、解構函式、靜態成員或常量。

C#物件導向要點

聯繫我們

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