iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
佛心分享-IT 人自學之術

從0開始的ABAP之旅 系列 第 15

Day 15 學習ABAP中的物件導向 -CLASS篇

  • 分享至 

  • xImage
  •  

Hi 大家好
今天要來介紹ABAP物件導向的寫法

物件導向簡介

之前介紹的APAP程式都屬於過程化(Structured model )程式模型,
而今天要講的Object oriented model是將物件導向編程理念應用於 ABAP 開發中的一種方式。它使得 ABAP 從傳統的過程導向編程進化到更模塊化、可重用性和靈活性的編程模式。

物件導向寫法的優點

1.代碼重用:通過繼承和多型機制,允許開發者重用已經存在的類,減少重複代碼。
2.易於維護和擴展:物件導向的設計使代碼更易於理解、測試和維護,新增功能可以通過擴展現有類來實現,而不是修改原有代碼。
3.提高靈活性和模塊化:類和物件的使用使代碼更加模塊化,降低耦合度,從而提高應用程式的靈活性和可擴展性。
4.封裝性:通過將數據和功能封裝在類中,並限制它們的訪問權限,確保系統的數據完整性和安全性。

Class是什麼

Class(類)是物件導向程式設計的核心概念。類是定義物件屬性和行為的藍圖。

類跟物件的關係

類(class)就像是房子的設計圖,是用來定義房子這個對象(object)

類的構成要素

每個類可以包含屬性(Attributes)和方法(Methods),通過類來封裝數據和業務邏輯。

  • 屬性(Attributes)屬性是類的變量,表示類的狀態或特徵。屬性可以是公共、公有或私有的:
    Public:所有對象都能訪問這些屬性。
    Protected:只有類本身和它的子類可以訪問這些屬性。
    Private:只有類本身能訪問這些屬性,外部對象或子類無法訪問。
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顧問有興趣的話可以再深入了解物件導向的寫法

以上是今天的分享!


上一篇
Day14 ABAP中的第三種呼吸 Module pool
下一篇
Day16 SAP工程師除了打Code都在做什麼?工作內容完整介紹 
系列文
從0開始的ABAP之旅 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言