SAP ABAP 面向對象程序設計:原則、模式及實踐
內容描述
本書結合實際開發案例,系統地講解了SAP ABAP面向對象程序設計的基礎與原理,面向對象設計的重要概念和思想,本書中的程序示例都採用了面向對象ABAP以及HANA平臺上的ABAP代碼進行實現。
本書分為以下幾個部分:
1)ABAP 語言程序設計基礎(第1~2 章) 介紹傳統的ABAP 語言的入門、語法和關鍵知識點,它們也是面向對象ABAP的基礎,有經驗的ABAP開發者可以略過此部分。
2)面向對象ABAP 語言程序設計基礎(第3~4 章) 介紹面向對象ABAP 的概念、ABAPOOP的關鍵知識點、程序實例,此部分主要介紹的是ABAPOOP的語法和規則。
3)面向對象程序設計概念與思想(第5~7 章) 面向對象的一些重要概念的理解和深入討論,此部分也是筆者與一些經驗豐富的傳統ABAP開發者討論的結果。
對於資深的傳統ABAP 開發者來說,迅速掌握面向對象的ABAP 語法並開始用OOP 規則編寫程序都不是什麼難題,難的是傳統語言開發者對面向對象的設計思想、概念的理解和認可,此部分就是針對面向對象的思想和一些設計原則及模式的討論。
4)面向對象程序設計實例(第8~9 章) 此部分是對一些面向對象ABAP 工程實踐的總結,如動態創建數據、泛型、OO ALV、對象持久化等實例。
並且討論了面向對象的分析設計過程,如OOA、OOD、ABAP 的敏捷開發Agile Scrum、單元測試等。
目錄大綱
前言
第一篇 ABAP語言程式設計基礎
第1章 ABAP語言概述2
1.1 ABAP的特點2
1.2 ABAP開發基礎4
1.2.1 ABAP SAP GUI開發環境5
1.2.2 ABAP開發環境的設置5
1.2.3 ABAP的語法結構8
1.2.4 ABAP的語法説明8
1.3 ABAP的資料類型10
1.3.1 預定義資料類型10
1.3.2 全域資料類型(資料字典類型)11
1.3.3 局部資料類型(使用者自訂類型)13
1.3.4 按結構區分的資料類型13
1.4 ABAP變數命名規則14
1.4.1 全域變數的命名規則15
1.4.2 區域變數的命名規則17
1.4.3 物件導向變數的命名規則17
第2章 ABAP語言關鍵知識點21
2.1 ABAP的變數21
2.1.1 變數的分類21
2.1.2 採用LIKE定義變數26
2.1.3 採用REF TO定義變數26
2.1.4 變數的賦值30
2.1.5 變數的動態傳入30
2.2 內表31
2.2.1 內表的定義和分類31
2.2.2 內表的操作34
2.3 ABAP的SQL語句47
2.3.1 OPEN SQL簡介47
2.3.2 查詢資料48
2.3.3 插入資料50
2.3.4 更新資料51
2.3.5 刪除資料51
2.3.6 修改資料52
2.3.7 Native SQL簡介53
2.3.8 HANA SQL Script簡介55
第二篇 物件導向ABAP語言程式設計基礎
第3章 物件導向程式設計基礎60
3.1 物件導向語言發展史60
3.2 物件導向的理論基礎69
3.3 物件導向的概念—物件69
3.4 物件導向的概念—類70
3.5 類之間的關係71
第4章 ABAP物件導向程式設計基礎76
4.1 創建局部類76
4.2 創建全域類78
4.3 類的屬性80
4.4 類的方法88
4.5 類的事件96
4.6 類的構造方法99
4.7 類方法的異常103
4.8 類的友元109
4.9 ABAP調用類物件113
4.10 類物件的記憶體釋放118
第三篇 物件導向程式設計概念
與思想
第5章 物件導向程式設計重要概念122
5.1 物件導向設計的基本概念123
5.2 封裝123
5.2.1 封裝的概述123
5.2.2 封裝的實現126
5.3 繼承134
5.3.1 繼承的概述134
5.3.2 繼承的實現136
5.4 多態146
5.4.1 多態的概述146
5.4.2 多態的實現(基於非抽象類別)152
5.4.3 多態的實現(基於抽象類別)161
5.4.4 多態的小結172
5.5 介面173
5.5.1 介面的概述173
5.5.2 介面的實現175
第6章 物件導向程式設計基本原則183
6.1 概述183
6.2 單一責任原則(SRP)184
6.3 開放封閉原則(OCP)185
6.4 裡氏替換原則(LSP)199
6.5 介面分離原則(ISP)203
6.6 依賴倒置原則(DIP)204
6.7 合成複用原則(CRP)210
6.8 迪米特法則(LoD)211
6.9 物件導向設計基本原則總結212
第7章 物件導向設計常用的設計模式214
7.1 設計模式概述214
7.2 單例模式217
7.3 簡單工廠模式221
7.4 適配器模式223
7.5 橋接模式228
7.6 面板模式236
7.7 觀察者模式241
7.8 策略模式254
7.9 設計模式總結261
第四篇 物件導向程式設計實例
第8章 ABAP OOP開發實例266
8.1 ABAP中資料和物件的動態創建和調用266
8.2 欄位符號在ABAP OOP中的應用268
8.3 ABAP中的泛型271
8.4 ABAP日誌類的使用278
8.5 調試的使用285
8.6 OO ALV的應用296
8.7 ABAP OOP實現網店購物車302
8.8 持久類和物件持久化的應用307
8.9 基於物件導向的BAdI的使用317
8.9.1 舊BAdI(Classic BAdI)318
8.9.2 新BAdI(Kernel BAdI)325
8.10 ABAP代碼的重構333
第9章 物件導向分析設計的過程339
9.1 物件導向分析設計的基本過程339
9.2 設計思維在SAP程式設計中的應用343
9.3 敏捷Scrum在SAP開發中的應用354
9.4 基於物件導向的單元測試362
9.5 分析實例:IoT物聯網應用設計與開發367
參考文獻386
作者介紹
郝冠華
埃森哲(中國)有限公司架構師與項目經理,
獲電腦科學與技術學士學位,復旦大學工程碩士學位。
多年來為國際500強企業進行信息系統研發與ERP 實施工作,
參加多項大型信息系統的研發項目(C/C++)、信息系統集成研發項目(SAP PI)、
SAP ERP的實施與開發項目(SAP QM,PP,SAP Logistics,ABAP)。