Hi 大家好
今天要來介紹ABAP物件導向的寫法
之前介紹的APAP程式都屬於過程化(Structured model )程式模型,
而今天要講的Object oriented model是將物件導向編程理念應用於 ABAP 開發中的一種方式。它使得 ABAP 從傳統的過程導向編程進化到更模塊化、可重用性和靈活性的編程模式。
1.代碼重用:通過繼承和多型機制,允許開發者重用已經存在的類,減少重複代碼。
2.易於維護和擴展:物件導向的設計使代碼更易於理解、測試和維護,新增功能可以通過擴展現有類來實現,而不是修改原有代碼。
3.提高靈活性和模塊化:類和物件的使用使代碼更加模塊化,降低耦合度,從而提高應用程式的靈活性和可擴展性。
4.封裝性:通過將數據和功能封裝在類中,並限制它們的訪問權限,確保系統的數據完整性和安全性。
Class(類)是物件導向程式設計的核心概念。類是定義物件屬性和行為的藍圖。
類(class)就像是房子的設計圖,是用來定義房子這個對象(object)
每個類可以包含屬性(Attributes)和方法(Methods),通過類來封裝數據和業務邏輯。
CLASS lcl_person DEFINITION.
PUBLIC SECTION.
DATA: name TYPE string.
PRIVATE SECTION.
DATA: age TYPE i.
ENDCLASS.
-方法 (method)
方法是定義在類中的功能或操作。可以將它們視為屬於類的函數。方法可以有輸入和輸出參數,並且可以是公共、公有或私有的。
Instance Methods(實例方法):需要物件的實例來調用。
Static Methods(靜態方法):與實例無關,直接通過類名來調用。
CLASS lcl_person DEFINITION.
PUBLIC SECTION.
METHODS: set_name IMPORTING new_name TYPE string,
get_age RETURNING value(returned_age) TYPE i.
ENDCLASS.
CLASS lcl_person IMPLEMENTATION.
METHOD set_name.
name = new_name.
ENDMETHOD.
METHOD get_age.
returned_age = age.
ENDMETHOD.
ENDCLASS.
今天的分享只是概略的對物件導向有個概念而已,
事實上我認為物件導向對新手工程師而言不是必備的技能,
能把前面的report 、function熟練後如果對成為abap顧問有興趣的話可以再深入了解物件導向的寫法
以上是今天的分享!