ABAP OO的八大理由 二

2021-04-14 17:11:23 字數 832 閱讀 5291

1.abap oo更加明確所以更易於使用。例如在使用abap oo你的程式的執行流程不再是由執行時隱含的控制。這樣你就可以自己去設計程式所執行的流程了而不必像面向過程那樣去了解和服從外部控制機制(即報表和dialog screen的事件)。

2.abap oo具有更加清晰的語法和語義規則,比如一些容易出錯的過時的語句在abap oo類中已經明確不能再使用。而在面向過程的程式中這些語法仍然被支援,頂多就是在關鍵的時候給你報個警告資訊。

3.abap的一些新技術只能通過abap oo來實現。例如所有新的gui的概念比如sap control framework和bsp只有通過abap oo的方式才能夠實現。而對於面向過程的abap你就只能使用傳統的screen和list processing了。

所以即便你在未來的開發中還不準備完全的轉型為oo,你可以使用的oo技術來減少錯誤的隱患以及增強**的可維護性。下面的部分將會闡述如何達到這一目的。

那麼面向過程的abap和abap oo究竟是孰優孰劣?下面的部分將逐一進行論述。首先先了解以下abap oo的年代史。

1.sap basis release 4.5發布了abap oo的乙個版本,引入了類介面的概念,並可以通過類來建立物件(例項化類)。

2.sap basis release 4.6發布了abap oo的完全版本,引入了oo方式的重要概念繼承(inheritance),可以通過多個介面來建立乙個復合的介面。

幾個關鍵點

nabap oo是abap程式語言的擴充套件

nabap oo 是向下相容的

nsap發布abap oo是為了進一步增強**的可重用性

n隨著abap oo的發布,abap執行時支援面向過程和物件導向兩種模式

ABAP OO的八大理由 三

對於面向過程的模式,程式的執行通常是從 screen 的dialog module 或selection screen 的start of selection 事件開始的。你在這些處理模組中操作全域性變數來實現需求的功能。你可以通過內部的 form 和外部的 function module 來實現程...

ABAP OO的八大理由(五)

物件導向模式的資料封裝 oo模式的程式設計也有兩種資料型別,類例項的屬性和類方法中的本地變數。例項屬性的生命週期依賴於物件的生命週期,本地變數的生命週期依賴於類方法的生命週期。所以物件導向的本地變數與面向過程的本地變數的生命週期是一樣的。它是類方法中的輔助變數與資料封裝無關。abap物件的資料封裝在...

ABAP OO的八大理由 七

物件導向的例項化 行如其名,在物件導向的模式中,物件是唯一存在的東西。物件是類的例項,是通過create object語句來實現的。abap物件不可能被隱含的例項化,你通過指標變數來操作物件。當然你通過指標所操作的物件不一定是自己建立的,這種現象主要是通過指標操作的物件很有可能是從其他地方傳過來的,...