Java編程思想之每天兩小時(二)

1.2每個對象都有一個接口

第一個面向?qū)ο笳Z言Simula-67.他在程序中使用基本關(guān)鍵字class來引入新的類型。這個語言是為了開發(fā)諸如經(jīng)典的“銀行出納員問題”(bank teller problem)這樣的仿真程序而創(chuàng)建的。

class的由來:在程序執(zhí)行期間具有不同的狀態(tài)而其他方面都相似的對象會被分組到對象的類中。

創(chuàng)建抽象數(shù)據(jù)類型(類)是面向?qū)ο蟪绦蛟O(shè)計的基本概念之一。抽象數(shù)據(jù)類型的運行方式與內(nèi)置(built-in)類型幾乎完全一致。對象是那些實體,同時。每一個對象都屬于定義了特性和行為的某個特定的類。

所以,當(dāng)看到類型一詞時,可將其作為類來考慮。因為類描述了具有相同特性(數(shù)據(jù)元素)和行為(功能)的對象集合,程序媛可以通過定義類來適應(yīng)問題,而不再是被迫只能使用現(xiàn)有的用來表示機(jī)器中的存儲單元的數(shù)據(jù)類型。可以根據(jù)需求,通過添加新的數(shù)據(jù)類型來擴(kuò)展編程語言。

面向?qū)ο蠓椒ú⒉粌H局限于構(gòu)建仿真程序。任何程序都是你所設(shè)計的系統(tǒng)的一種仿真,面向?qū)ο蠹夹g(shù)的應(yīng)用確實可以將大量的問題很容易的降解為一個簡單的解決方案。

面向?qū)ο蟪绦蛟O(shè)計的挑戰(zhàn)之一就是:在問題空間的元素和解空間的對象之間創(chuàng)建一對一的映射。

怎樣才能獲取有用的對象?必須有某種方式產(chǎn)生對對象的請求,是對象完成各種任務(wù)。每個對象都只能滿足某些請求,這些請求由對象的接口(interface)所以定義。,決定接口的便是類型。

以電燈泡為例:

light lt=new light();

lt.on();

接口確定了對某一特定對象所能發(fā)出的請求。過程:向某個對象“發(fā)送消息”(產(chǎn)生請求),這個對象便知道此消息的目的,然后執(zhí)行對應(yīng)的程序代碼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容