[英]How can I define multiple class objects with a for loop in python?
[英]How can I define a filled structure/table as class constant in ABAP Objects
我想要一個不變的預定義表作為類變量。 如何定義這樣的變量?
這是一個古老的問題,答案很簡單:只需創建一個返回常量數據的靜態方法(getter)。
而不是使用:
data(ls_sample) = lcl_myclass=>cs_data.
采用:
data(ls_sample) = lcl_myclass=>cs_data( ).
我將創建一個屬性並將其標記為“只讀”,您可以通過構造函數或使用Set-Method進行設置。
您不能在ABAP中使用類常量來這樣做。 該文檔明確指出:
您只能為ABAP類型的string和xstring指定一個起始值val。
常量內部表,參考變量和不具有純字符型平面組件的結構只能通過IS INITIAL分配其初始值,因此始終為初始值。
正如Tapio所建議的那樣,您唯一的選擇是只讀屬性,我還建議您使用靜態屬性,該屬性可以在構造函數中初始化。
例如
CLASS lcl_test DEFINITION.
PUBLIC SECTION.
CLASS-DATA: itab TYPE RANGE OF i READ-ONLY.
METHODS:
constructor.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
METHOD constructor.
itab = VALUE #( sign = 'I' option = 'BT' ( low = 1 high = 10 )
( low = 21 high = 30 )
( low = 41 high = 50 )
option = 'GE' ( low = 61 ) ).
ENDMETHOD.
ENDCLASS.
在所有這些時間之后,將是一件令人費解的事情:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.