1. 程式人生 > >物件導論系列---每個物件都至少有一個介面

物件導論系列---每個物件都至少有一個介面

物件導論系列---每個物件都至少有一個介面

面向物件程式設計主要是用來解決人們實際生產、生活中遇到的問題。通過將現實生活中的問題和解空間中的物件進行對映,並對物件進行抽象、關聯、組合、傳送訊息來具體解決實際問題。現實生活中的實體也都是有自己的特性和行為的,並且每個實體都會與其範圍內的其它實體有關係,有的是強關係,有的是弱關係。

下面看下本節的關鍵性概念(思想)

  1. 類:將具有相同特性和行為的一類實體定義為類。當看到型別一詞時,可以將其作為類來考慮。因為類描述了具有相同特性(資料元素)和行為(功能)的物件集合,所以一個類實際上就是一個數據型別,例如所有浮點型數字具有相同的特性和行為集合。程式設計師可以通過定義類來適應問題,而不再被迫只能使用現有的用來表示機器中的儲存單元的資料型別,可以根據需求,通過新增新的資料型別來擴充套件程式語言。程式設計系統喜歡接受新的類,並且像對待內建型別一樣地照管它們和進行型別檢查。
  2. 物件:待解決問題中的實體就是物件。每個物件都屬於定義了特性和行為的某個類,一旦類被建立,就可以隨心所欲地建立任意個物件,然後去操作她們,就像她們是存在於你的待求解問題中的元素一樣。但是,怎樣才能獲得有用的物件呢?必須有某種方式產生對物件的請求,使物件完成各種任務,如完成一筆交易、開啟關閉、前進倒退、畫一個圖形、洗菜炒菜上菜、生產和消費、入隊出隊等。每個物件都只能滿足某些請求,這些請求由物件的介面所定義,決定介面的便是型別。
  3. 介面:這裡指型別裡的行為。介面確定了對某一特定物件所能發出的請求。但是在程式中必須有能滿足這些請求的程式碼。這些程式碼與隱藏的資料一起構成了實現。在型別中每一個可能的請求都有一個方法與之關聯,當向物件傳送請求時,與這相關聯的方法就會被呼叫。此過程概括為:向某個物件
    “傳送訊息”(產生請求),這個物件便知道此訊息的目的,然後執行相應的程式程式碼。
  4. 模擬:任何程式設計都是你所設計系統的一種模擬,網路是虛擬的。

 

案例說明:

       

這個類具有兩個特性(colorname)五個行為:getColor()setColor()是對color特性的操作,doFront()前進,doBack()後退,doStop()停止

使用物件(向物件傳送訊息):

Car car=new Car();
car.setColor("Black");
car.doFront();
car.doBack();
car.doStop();

通過呼叫物件介面來向物件傳送訊息,執行相關聯的程式碼塊。通過物件引用來操作物件行為,遮蔽了物件背後的複雜實現。

總結:以上案例完全解讀了什麼是類?什麼是物件?怎麼建立有用的物件?怎麼向物件傳送訊息?

如果同學們有疑問或者想獲取更多資源,可以加“張無忌”老師微信(17091005779),找老師獲取。