商品描述
快速入門並掌握智能系統編程的密鑰,在於運用面向對象核心技術描述、實現目標系統。本書以C++語言編程為例闡述核心理念,融入 Java 語言輔助說明。面向對象語言的核心特征是封裝、繼承與多態,其本質是按需求設計數據成員和成員函數,通過類的繼承構建數據與函數的關系,以多態實現“一個接口,多種方法”。使用非面向對象語言編程時,可借鑒其核心思想,舍棄難實現的特有手段,同樣能寫出簡潔高效的程序。
目錄大綱
第 1 章 事物編碼與描述 ····················································································1
1.1 基本數據類型 ·····················································································.1
1.1.1 Java 語言的基本數據類型······························································.1
1.1.2 C++語言的基本數據類型·······························································.2
1.1.3 C 語言的基本數據類型 ·································································.5
1.2 構造數據類型 ·····················································································.6
1.2.1 Java 語言的構造數據類型 ·····························································.6
1.2.2 C++語言的構造數據類型·······························································.7
1.2.3 C 語言的構造數據類型 ·······························································.10
1.3 類···································································································.10
1.3.1 Java 語言中類的定義 ···································································11
1.3.2 C++語言中類的定義···································································.12
1.4 習題································································································.15
第 2 章 類和類系統構造 ·················································································.16
2.1 一個簡單的面向對象編程實例 ······························································.16
2.1.1 基於時間(time)類的 C++語言面向對象編程實例 ···························.16
2.1.2 基於時間(time)類的 Java 語言面向對象編程實例 ·························.19
2.2 類概念說明·······················································································.23
2.3 繼承································································································.26
2.3.1 學生類的 C++語言實現·······························································.27
2.3.2 學生類的 Java 語言實現 ······························································.31
2.4 復雜對象:單重繼承 ··········································································.34
2.4.1 Java 語言實現單重繼承復雜對象編程實例·······································.34
2.4.2 C++語言實現單重繼承復雜對象編程實例 ·······································.38
2.5 復雜對象:多次單重繼承 ····································································.42
2.5.1 Java 語言實現多次單重繼承復雜對象編程實例·································.42
2.5.2 C++語言實現多次單重繼承復雜對象編程實例 ·································.47
2.6 復雜對象:C++語言的多重繼承····························································.52
2.7 C++語言和 Java 語言中的對象和類編程問題············································.58
2.7.1 虛擬函數、多態性、綁定、抽象類和接口·······································.58
2.7.2 重載 ·······················································································.67
2.7.3 泛型(模板)與參數化類 ····························································.68
2.7.4 容器類 ····················································································.70
2.7.5 內部類或嵌套類 ········································································.71
2.7.6 const、static、extern、inline、final、this、friend、clone、protected 等
的意義和用法 ···········································································.74
2.7.7 流 ··························································································.75
2.8 C 語言實現類面向對象技術編程實例 ·····················································.75
2.9 習題································································································.78
第 3 章 智能系統平臺說明 ··············································································.79
3.1 智能系統··························································································.79
3.2 軟硬件平臺說明 ················································································.80
3.3 開發語言說明 ···················································································.82
3.4 本書內容約定 ···················································································.83
3.5 習題································································································.84
第 4 章 基礎設計實例 ····················································································.86
4.1 軟硬件虛擬仿真平臺和軟件開發平臺說明 ···············································.86
4.2 單片機接口說明與軟件結構約定 ···························································.87
4.3 一個獨立於硬件系統的神奇程序 ···························································.90
4.3.1 基於 Arduino 板的程序設計··························································.90
4.3.2 基於 STM32 單片機的程序設計 ····················································.95
4.3.3 基於 8051 單片機的程序設計 ·······················································.98
4.4 指針·······························································································.101
4.5 處理中斷的類設計 ············································································.107
4.5.1 基於 Arduino 板的中斷應用程序示例 ············································.108
4.5.2 基於 STM32 單片機的中斷應用程序示例 ·······································.111
4.5.3 基於 8051 單片機的中斷應用程序示例 ··········································.115
4.6 習題·······························································································.118
第 5 章 復雜系統設計範例 ·············································································.119
5.1 基於硬件的設計 ···············································································.119
5.2 設計範例與講解 ···············································································.120
5.2.1 接口的復雜運用:鍵盤顯示························································.120
5.2.2 中斷示例 ················································································.131
5.2.3 直流電機控制 ··········································································.140
5.2.4 步進電機控制 ··········································································.146
5.3 習題·······························································································.155
第 6 章 智能系統 ·························································································.156
6.1 用開關量構成閉環 ············································································.156
6.2 用模擬量構成閉環 ············································································.159
6.3 用通信構成閉環 ···············································································.162
6.4 雜合系統構成閉環 ············································································.167
6.4.1 導盲系統的設計與構建 ······························································.167
6.4.2 水果采摘系統的設計與構建 ······················································.168
6.4.3 不同顏色物品分揀系統的設計與構建············································.168
6.5 習題·······························································································.170
第 7 章 入門密鑰 ·························································································.171
