Thinking in Java筆記——對(duì)象導(dǎo)論

我們之所以將自自然界分解,組織成各種概念,并按其含義分類,主要是因?yàn)槲覀兪钦麄€(gè)口語交流社會(huì)共同遵守的協(xié)定的參與者,這個(gè)協(xié)定以語言的形式固定下來……除非贊成這個(gè)協(xié)定中的規(guī)定的有關(guān)語言信息的組織和分類,否則我們根本無法交談。

——Benjamin Lee Whorf(1897~1941)



*面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-oriented Programmering,OOP)。

*所有的編程語言都提供抽象機(jī)制,所謂的“類型”是指“所抽象的是什么”。

*程序員必須建立起在機(jī)器模型(位于“解空間”內(nèi),這是你對(duì)問題建模的地方,例如計(jì)算機(jī))和實(shí)際待解決問題的模型(位于“問題空間”內(nèi),這是問題存在的地方,例如一項(xiàng)業(yè)務(wù))之間的關(guān)聯(lián)。

*Smalltalk五個(gè)基本特征:

1)萬物皆為對(duì)象。

2)程序是對(duì)象的集合,他們通過發(fā)送消息來告知彼此所要做的。

3)每個(gè)對(duì)象都有自己的有其他對(duì)象所構(gòu)成的存儲(chǔ)。

4)每個(gè)對(duì)象擁有其類型。

5)某個(gè)特定類型的所有對(duì)象都可以接收同樣的消息。

*Java用三個(gè)關(guān)鍵字在類內(nèi)部設(shè)定邊界:public,private,protected。還有一種默認(rèn)的訪問權(quán)限,叫做包訪問權(quán)限。

*有兩種方法可以使基類與導(dǎo)出類產(chǎn)生差異

1)直接在導(dǎo)出類中添加新方法。

2)用覆蓋(overriding)改變現(xiàn)有基類的方法。

*把導(dǎo)出類看做是它基類的過程稱為向上轉(zhuǎn)型


*單根繼承,所有的對(duì)象都具有一個(gè)公共接口。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,967評(píng)論 19 139
  • (一)Java部分 1、列舉出JAVA中6個(gè)比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,142評(píng)論 0 62
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,420評(píng)論 25 708
  • 如果初來乍到一個(gè)陌生城市, 竟然沒有被挨過宰受過騙繞過遠(yuǎn), 是不是又會(huì)覺得這樣的“初見”過于矜持無趣?! 一個(gè)人,...
    只歡喜自渡閱讀 506評(píng)論 0 2