成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【Thinking in Java】第一章 對象導論

joyqi / 1934人閱讀

摘要:基類導出類導出類繼承了基類的特點,基類和導出類具有相同的基礎接口,形成兩者差異的做法在導出類中添加新方法在導出類型中添加新的接口元素,擴展了接口。覆蓋在導出類用創(chuàng)建方法的新定義,覆蓋基類中的方法定義純粹替代,只覆蓋。

一、抽象過程

建模基于計算機的結(jié)構(gòu)

“解空間”的解

匯編語言:對底層機器的輕微抽象

“命令式”語言:匯編語言的抽象

建?;诖敖鉀Q問題

“問題空間”的元素

面向?qū)ο?/p> 二、每個對象都有一個接口

創(chuàng)建抽象數(shù)據(jù)類型(類)
類:相同特性(數(shù)據(jù)元素)和行為(功能)的對象
主要任務:問題空間的元素和解空間的對象之間創(chuàng)建一對一的映射
類型決定接口——接口確定可發(fā)請求——產(chǎn)生請求——獲得對象——方法(代碼)調(diào)用

三、每個對象都提供服務

將對象想象為服務提供者,提高對象的內(nèi)聚性。每個對象做好自己的份內(nèi)事。

四、控制訪問

public:任何人可用
private:子類不可用超類
protected:子類可用超類

五、復用

直接使用該類的一個對象
將那個類的一個對象置于某個新的類中(創(chuàng)建一個成員對象)

組合:使用現(xiàn)有的類合成新的類 has-a 擁有關(guān)系
聚合:動態(tài)組合
組合帶來靈活性,新類成員通常被聲明為private。
不要第一反應就是繼承,可以嘗試組合。

六、繼承

對象這種工具使得程序員可以用概念(類class)將數(shù)據(jù)和功能封裝到一起。

基類——導出類

導出類繼承了基類的特點,

基類和導出類具有相同的基礎接口,形成兩者差異的做法:

1、在導出類中添加新方法

 is-like-a:在導出類型中添加新的接口元素,擴展了接口。

2、覆蓋(在導出類用創(chuàng)建方法的新定義,覆蓋基類中的方法定義)

 is-a:純粹替代,只覆蓋。
七、伴隨多態(tài)的可互換對象

基類中,方法操作時泛化的
非OOP的編譯器采用前期綁定,對一個具體函數(shù)名字調(diào)用,解析到將要執(zhí)行代碼的絕對地址。
而OOP的編譯器采用了后期綁定,當向?qū)ο蟀l(fā)送消息時,代碼直到程序運行時才能確定。編譯器確保調(diào)動方法的存在,并對調(diào)用變元和返回值執(zhí)行類型檢查。

轉(zhuǎn)型
向上轉(zhuǎn)型:將導出類看做它的基類

八、單根繼承結(jié)構(gòu)

所有東西都是Object類型

九、容器

不知道解決問題時需要多少對象、多少空間怎么辦?
容器,創(chuàng)建一種對象類型,持有對其他對象的引用,在任何需要時都可擴充自己以容納置于其中的所有東西。
List:用于儲存序列
Map:也稱關(guān)聯(lián)數(shù)組,用來建立對象之間的關(guān)聯(lián)
Set:每種對象類型只持有一個
Queue、Tree、Stack……

不同容器
1、提供了不同類型的接口和外部行為
2、對于某些操作具有不同的效率

參數(shù)化類型
儲存Object的容器可以儲存任何東西。當將對象引用置入容器時,被向上轉(zhuǎn)型為Object,會丟失其身份;取回時,就獲取了一個對Object對象的引用。若要變回原先接口,需向下轉(zhuǎn)型,但向下轉(zhuǎn)型不安全。一種采用向下轉(zhuǎn)型的做法是異常處理。
更好的做法是參數(shù)化類型機制。參數(shù)化類型機制是一個類,編譯器可以通過自動定制,從而作用于特定類型上。

十、對象的創(chuàng)建和生命期

使用關(guān)鍵問題之一:對象生成和銷毀方式
1、編寫程序時設定:將對象置于堆棧(有時被稱為自動變量或限域變量)或靜態(tài)存儲區(qū)域內(nèi)來實現(xiàn)。犧牲了靈活性。
2、在堆(heap)的內(nèi)存池中動態(tài)地創(chuàng)建對象。創(chuàng)建堆存儲空間的事件依賴于存儲機制的設計。

動態(tài)方式一般性邏輯假設:對象趨于變得復雜,所以查找和釋放存儲空間的開銷不會對對象的創(chuàng)建造成重大沖擊。動態(tài)方式帶來更大的靈活性。

Java完全采用了動態(tài)內(nèi)存分配方式。每當想要創(chuàng)建新對象時,就要使用new關(guān)鍵字來構(gòu)建此對象的動態(tài)實例。

Java生命期:垃圾回收器

十一、異常處理:處理錯誤 十二、并發(fā)編程

線程:獨立運行的部分(任務)
并發(fā):把問題切分成多個線程,從而提高程序的響應能力
多線程優(yōu)點:不必操心機器上是有多個處理器還是只有一個處理器
隱患:共享資源。解決方法:共享資源在使用期間被鎖定。

十三、Java與Internet 1.Web

1)客戶/服務器計算技術(shù)
系統(tǒng)具有一個中央信息存儲池,可根據(jù)需要將它分發(fā)給某些人員或機器集群,其位置集中于中央,使得它可被修改,并且這些修改將被傳播給信息消費者。
服務器:信息存儲池、用于分發(fā)信息的軟件、信息與軟件所駐留的機器或機群
單一的服務器同時為多個客戶服務

2)Web就是一臺巨型服務器
關(guān)心:怎樣連接到一臺服務器上,并與之進行交互。

2、客戶端編程

1)插件
2)腳本語言
3)Java
4)備選方案
Java applet
Flex
5).NET和C#
6)Internet和Intranet

十三、服務器端編程

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68495.html

相關(guān)文章

  • 《On Java 8》中文版,又名《Java 編程思想》中文第五版

    摘要:基于版本基于版本。由于中英行文差異,完全的逐字逐句翻譯會很冗余啰嗦。譯者在翻譯中同時參考了谷歌百度有道翻譯的譯文以及編程思想第四版中文版的部分內(nèi)容對其翻譯死板,生造名詞,語言精煉度差問題進行規(guī)避和改正。 來源:LingCoder/OnJava8 主譯: LingCoder 參譯: LortSir 校對:nickChenyx E-mail: 本書原作者為 [美] Bru...

    BingqiChen 評論0 收藏0
  • 學習Java必讀的10本書籍

    摘要:學習編程的本最佳書籍這些書涵蓋了各個領域,包括核心基礎知識,集合框架,多線程和并發(fā),內(nèi)部和性能調(diào)優(yōu),設計模式等。擅長解釋錯誤及錯誤的原因以及如何解決簡而言之,這是學習中并發(fā)和多線程的最佳書籍之一。 showImg(https://segmentfault.com/img/remote/1460000018913016); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slo...

    masturbator 評論0 收藏0
  • toString方法的陷阱

    摘要:方法簡介作用返回該對象的字符串表示。建議所有子類都重寫此方法。類的該方法返回一個字符串,該字符串由類名對象是該類的一個實例標記符和此對象哈希碼的無符號十六進制表示組成。 toString方法簡介 作用 返回該對象的字符串表示。通常,toString()方法會返回一個以文本方式表示此對象的字符串。結(jié)果應是一個簡明但易于讀懂的信息表達式。建議所有子類都重寫此方法。 Object 類的 to...

    張漢慶 評論0 收藏0
  • Thinking in Java學習筆記——Type Information

    摘要:找到字節(jié)碼并創(chuàng)建一個對象。鏈接,檢驗字節(jié)碼,為字段分配存儲空間,解決其對他類的引用。初始化,如果有父類則初始化父類,執(zhí)行靜態(tài)初始化器和靜態(tài)初始化區(qū)塊直到第一次訪問靜態(tài)成員時初始化才執(zhí)行。如果成員不是編譯時常量由初始化器賦值,也會引起初始化。 有兩種形式在運行時獲取類型信息: 傳統(tǒng)的RTTI 反射 Class對象 運行時的類型信息是通過Class對象表現(xiàn)的,它包含了類的信息。所有...

    liangzai_cool 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<