Java面向對象程序設計:思想·方法·應用(微課視頻版)

化志章 揭安全 石海鶴 王嵐

  • 出版商: 清華大學
  • 出版日期: 2021-09-01
  • 定價: $359
  • 售價: 7.5$269
  • 語言: 簡體中文
  • 頁數: 372
  • 裝訂: 平裝
  • ISBN: 7302590664
  • ISBN-13: 9787302590668
  • 立即出貨

  • Java面向對象程序設計:思想·方法·應用(微課視頻版)-preview-1
  • Java面向對象程序設計:思想·方法·應用(微課視頻版)-preview-2
  • Java面向對象程序設計:思想·方法·應用(微課視頻版)-preview-3
Java面向對象程序設計:思想·方法·應用(微課視頻版)-preview-1

商品描述

本書基於Java語言,以案例為核心,問題求解為主線,快速深入地介紹面向對象程序設計的基本思想、方法和應用,以及GUI編程、線程、IO流等高級應用框架。 全書包括三部分:第1部分Java入門,對應第1章和第2章,討論Java概況、JDK配置,從C過渡到Java,並涉及一些面向對象的基本概念、理念和語法元素;第2部分面向對象程序設計,對應第3章,結合案例,系統闡述面向對象程序設計方法及其語法支撐機制,還包括異常處理、內部類等輔助機制;第3部分實用技術和框架,包括第4~10章,涉及圖形用戶編程、線程機制、IO流、網絡通信、泛型和集合框架、Java連接數據庫、反射機制與代理模式等內容。 本書在內容組織上,基於案例介紹內容,直觀、高效;在內容設計上,所有案例均有目的、設計、源碼和分析,便於快速深入地理解、領會;在內容表述上,結合豐富的圖解和形象的比喻,破解技術難點。各章的章首配有導引,指明本章的設置目的、內容組織的邏輯主線、重點和難點等內容;章末配有小結,進行簡單梳理、提煉;“思考與練習”中提供一組問答題,用於回顧和檢測對前期內容的理解,並提供一些綜合型編程作業。 本書適合作為高等院校電腦、軟件工程專業和各種軟件培訓機構的教材,也特別適合廣大程序員及其他Java開發愛好者自學、參考。

作者簡介

化志章,副教授,對程序設計語言、方法和計算機發展史感興趣,長期從事java及其它程序設計類課程的教學。對高校課堂教學普遍存在“內容多、學時少、學生理解淺”問題,歷經十餘年探索與實踐,形成獨特的解決方案,總結出高效課堂教學、訓練專業思維、提高自學能力的新途徑。本書是該方案的具體載體。

目錄大綱

第一部分Java入門
第1章Java及其開發環境3
1.0本章方法學導引3
1.1Java的產生與發展3
1.1.1嵌入式項目孕育Java4
1.1.2網絡小程序讓Java起飛4
1.1.3Java開發平台和相關術語5
1.2Java的特色5
1.2.1Java需要具備跨平台能力5
1.2.2Java需要支持面向對象7
1.2.3Java要追求高可靠性7
1.2.4Java需要更大的字符集10
1.3Java開發環境11
1.3.1JDK的下載和配置12
1.3.2Java開發工具簡介13
1.3.3Java應用程序框架及其編譯、運行14
本章小結15
思考與練習15
第2章從C過渡到Java16
2.0本章方法學導引16
2.1快速入門17
2.1.1Java類型概述17
2.1.2入門示例:求累加和18
2.1.3理解類和對象:汽車類的設計20
2.1.4順序表及其應用23
2.1.5單鍊錶及其應用28
2.2強化實踐30
2.2.1二樹及其應用30
*2.2.2樹及其應用34
2.2.3班級信息管理系統1.0版39
2.2.4回顧與小結42
2.3從內存管理視角觀察程序47
2.3.1Java虛擬機的內部體系結構47
2.3.2對像如何關聯到方法48
2.3.3棧內存管理和堆內存管理48
2.3.4函數間的參數傳遞50
2.3.5再談String和數組52
*2.4班級信息管理系統2.0版55
2.4.1輸入輸出的格式化55
2.4.2讀文件和單項排序58
2.4.3對班級信息多種方式排序62
2.4.4對系統設計的反思63
2.5一些工具類的使用
2.5.1計算程序運行時間
2.5.2生成驗證碼、計算π66
2.5.3識別C標識符、手機號碼、郵箱68
*2.6綜合示例73
2.6.1示例:設計文本計算器73
2.6.2示例:遊戲中玩家組隊77
本章小結79
思考與練習80
第2部分面向對象程序設計
第3章面向對象程序設計基礎85
3.0本章方法學導引85
3.1面向對象程序設計思想的引入86
3.1.1不得不提的結構化程序設計86
3.1.2這些問題很難用結構化方法處理88
3.1.3面向對象程序設計方法的誕生89
3.1.4面向對象程序設計方法簡介90
*3.2基於對象視角開發圖書借閱系統90
3.2.1需求描述90
3.2.2類的設計91
3.2.3系統數據組織92
3.2.4業務邏輯93
3.2.5系統實現94
3.2.6反思和拓展98
3.3語法認知-199
3.3.1示例:帶約束的三角形99
3.3.2示例:嗅、咬人101
3.3.3示例:引用自己的成員為何出錯105
3.3.4示例:構造直角三角106
3.3.5示例:禁止創建邊值錯誤的三角形108
3.3.6示例:銀行取款攻防110
3.3.7語法小結112
3.4基於抽像類和接口的編程113
3.4.1示例:設計形狀智能識別器113
3.4.2抽象方法、抽像類和接口115
3.4.3示例:模擬主板集成各類闆卡118
3.4.4示例:遊戲兵種設計120
3.5設計模式124
3.5.1設計模式概述124
3.5.2策略模式:實現化電商計價125
3.5.3裝飾模式:打印票據128
3.5.4適配器模式:拼接系統133
3.6OOP蘊含的思想137
3.6.1OOP視角137
3.6.2封裝:讓對象獨立、簡單和安全138
3.6.3繼承:重用、分散複雜性、語義兼容139
3.多態:對象的自適應能力140
3.6.5抽象:無處不在且又特色140
3.7語法認知-2141
3.7.1包和權限141
3.7.2不可或缺的異常機制146
3.7.3比構造函數更早執行的初始化塊152
3.7.4再談內部類153
本章小結154
思考與練習155
第3部分實用技術和框架
第4章圖形用戶界面編程159
4.0本章方法學導引159
4.1GUI編程概述160
4.1.1字符用戶界面和圖形用戶界面160
4.1.2認識GUI的組件160
4.1.3界面的佈局161
4.1.4示例:構造用戶登錄界面161
4.2事件處理163
4.2.1委託事件處理模型簡介163
4.2.2登錄界面1.0:單擊按鈕事件163
4.2.3登錄界面2.0:加入鍵盤、窗體事件165
4.2.4登錄界面3.0:更簡潔的實現168
4.2.5綜合示例:文本框式計算器1.0169
4.3拓展實踐173
4.3.1設計能設定全局字體的工具類173
4.3.2按鈕式計算器175
4.3.3文本框式計算器2.0178
*4.3.4生成配貨地址181
4.3.5模擬浦豐投針試驗189
4.3.6實現滾動字幕192
4.4關於事件和事件處理的討論193
本章小結194
思考與練習195
第5章線程機制196
5.0本章方法學導引196
5.1線程機制概述197
5.1.1引入線程:實現並發程序設計197
5.1.2進程與線程:兩種不同粒度的並發機制197
5.1.3線程概述198
5.2線程的構造和運行200
5.2.1繼承Thread類構造線程200
5.2.2用Runnable構造線程203
5.2.3其他構造線程的方式204
5.3線程的互斥機制205
5.3.1概述205
5.3.2示例:模擬銀行存取款206
5.3.3示例:模擬共享打印管理208
5.3.4示例:模擬網上搶票210
5.4線程的同步機制213
5.4.1同步的含義和實現框架213
5.4.2示例:模擬生產者—消費者問題214
5.4.3示例:模擬生產線217
*5.4.4示例:並發的歸併排序220
*5.5關於並發設計、應用的進一步討論225
5.5.1並發設計策略225
5.5.2主線程、子線程、守護線程226
5.5.3定時器226
5.5.4線程組與線程池227
本章小結227
思考與練習228
第6章IO流229
6.0本章方法學導引229
6.1IO流概述230
6.1.1IO流的引入230
6.1.2IO流的基本應用框架230
6.1.3IO流類庫簡介233
6.2目錄文件操作236
6.2.1普通文件複製236
6.2.2目錄複製237
6.2.3打印目錄樹239
6.2.4合併文件240
6.3其他操作242
6.3.1用數據流讀、寫文件242
6.3.2本文編碼轉換243
6.3.3序列化和反序列化245
*6.3.4多線程複製大型文件252
本章小結254
思考與練習255
第7章網絡通信256
7.0本章方法學導引256
7.1網絡編程基礎257
7.1.1計算機網絡與Java語言257
7.1.2網絡通信概述258
7.2基於網址的網絡編程259
7.2.1概述259
7.2.2提取網址和遠程對象信息260
7.2.3示例:設計簡單的文件下載器262
7.3基於Socket的點對點通信方式2
7.3.1概述2
7.3.2點對點通信模型2
7.3.3示例:二人間的一句話通信266
7.3.4示例:二人間隨意聊天269
*7.3.5示例:群聊的設計272
7.4基於數據報的端對端通信方式279
7.4.1通信模型279
7.4.2示例:二人間的一句話通信280
本章小結283
思考與練習283
第8章泛型與集合框架285
8.0本章方法學導引285
8.1認識泛型286
8.1.1泛型引入背景286
8.1.2泛型的定義和使用286
8.2泛型機制應用288
8.2.1設計自動擴容的泛型順序表288
8.2.2對泛型順序表加約束290
8.2.3對泛型順序表“模糊”讀寫291
8.2.4面向泛型順序表的工具類294
*8.3泛型實現機理297
8.4泛型綜合應用:集合框架299
8.4.1集合框架簡介299
8.4.2List應用示例301
8.4.3Set應用示例303
8.4.4Map應用示例306
8.5示例:設計泛型樹的迭代器307
本章小結312
思考與練習313
第9章Java連接數據庫314
9.0本章方法學導引314
9.1JDBC簡介315
9.2MySQL的安裝、使用和配置316
9.2.1MySQL的下載和安裝316
9.2.2MySQL數據庫基本操作316
9.2.3在IDE中設置MySQL驅動路徑318
9.3通過JDBC操縱MySQL318
9.3.1JDBC操縱數據庫的基本框架319
9.3.2借助JDBC對數據庫增、刪、改、查321
本章小結324
思考與練習324
第10章反射機制與代理模式325
10.0本章方法學導引325
10.1反射機制概述326
10.2反射的簡單應用:簡單工廠模式326
10.3反射機制的剖析和應用329
10.3.1剖析反射機制329
10.3.2示例:解析給定的Class型對象331
10.3.3示例:抽象工廠模式334
10.4代理模式338
10.4.1代理模式簡介339
10.4.2靜態代理模式339
10.4.3動態代理模式343
本章小結346
思考與練習346
附錄A課外閱讀——Eclipse集成開發環境347
附錄B課外閱讀——軟件設計者的關注354