>學習筆記一:物件導向編程準備知識

來源:互聯網
上載者:User
文章目錄
  • 介面和抽象類別的區別
  •  虛方法和重寫
介面和抽象類別概述
  1. 介面是類的藍圖
  2. 在OOP中,介面是穩定,而抽象類別和其子類是變化的.
介面和抽象類別的區別
  1. 介面是"behaves like a",抽象類別一個是"is a"

  2. 一個抽象類別可以包括非抽象方法,和資料成員,介面的所有成員在效果上都是抽象的.

  3. 抽象類別可以有構造器(不過通常是protected的),而介面不能.

  4. 介面成員的存取修飾詞只能是public,而抽象類別可以有定義其他存取修飾詞(private , protected).

  5. 一個類可以現實任意多個介面,但只能繼承自一個抽象類別.

  6. 介面不能有資料成員,而抽象類別可以.

 虛方法和重寫
  1. .NET中如果基類的方法,或屬性不聲明成虛的,則子類無法重寫基類的方法或屬性.(在java,預設所有方法都是虛的,方便呀*_*,子類直接覆蓋基類的)
  2. 繼承非虛方法是,.NET預設會隱藏其基類的方法,給出一個警告.
  3. 虛方法和重寫表達的語意就是多態.

 

兩句閑話

以前,我有一次面試,人家讓我說出抽象類別,介面,虛方法,重寫的用途和使用情境,我當時沒答出來.現在想想真的很不應該,物件導向的知識這麼重要,我們很多人都沒有掌握好.我現在還在模索中...

另一道題是,脫離IDE,完全用文本編程器,寫一個Windows Forms程式:兩個textbox,三個button,排列整齊,按下button顯示messagebox,用命令列編譯並運行效果.還好,這一道我給他整出來了.

 

聯繫我們

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