SAPABAP-オブジェクト

オブジェクトは、明確な特性と動作を持つ特殊な種類の変数です。オブジェクトの特性または属性は、オブジェクトの状態を説明するために使用され、動作またはメソッドは、オブジェクトによって実行されるアクションを表します。

オブジェクトは、クラスのパターンまたはインスタンスです。これは、人などの実世界のエンティティ、または変数や定数などのプログラミングエンティティを表します。たとえば、アカウントと学生は実際のエンティティの例です。しかし、コンピューターのハードウェアおよびソフトウェアコンポーネントは、プログラミングエンティティの例です。

オブジェクトには次の3つの主な特徴があります-

  • 状態があります。
  • 独自のアイデンティティを持っています。
  • 動作が表示される場合と表示されない場合があります。

オブジェクトの状態は、属性とその値のセットとして説明できます。たとえば、銀行口座には、口座番号、名前、口座タイプ、残高、およびこれらすべての属性の値などの一連の属性があります。オブジェクトの動作とは、一定期間にその属性で発生する変更を指します。

各オブジェクトには、他のオブジェクトと区別するために使用できる一意のIDがあります。2つのオブジェクトは同じ動作を示し、同じ状態である場合とそうでない場合がありますが、同じIDを持つことはありません。2人の名前、年齢、性別は同じでも、同じではありません。同様に、オブジェクトのIDは、その存続期間を通じて変更されることはありません。

オブジェクトは、メッセージを送信することによって相互作用できます。オブジェクトには、データとデータを操作するためのコードが含まれています。オブジェクトは、クラスを使用してユーザー定義のデータ型として使用することもできます。オブジェクトは、型クラスの変数とも呼ばれます。クラスを定義した後、そのクラスに属するオブジェクトをいくつでも作成できます。各オブジェクトは、それが作成されたタイプクラスのデータに関連付けられています。

オブジェクトの作成

オブジェクトの作成には通常、次の手順が含まれます-

  • クラスを参照して参照変数を作成します。構文は-

DATA: <object_name> TYPE REF TO <class_name>.
  • 参照変数からオブジェクトを作成します。構文は-

CREATE Object: <object_name>.

REPORT ZDEMO_OBJECT. 
CLASS Class1 Definition. 
Public Section. 
DATA: text1(45) VALUE 'ABAP Objects.'. 
METHODS: Display1. 
ENDCLASS. 

CLASS Class1 Implementation. 
METHOD Display1. 
Write:/ 'This is the Display method.'. 
ENDMETHOD. 
ENDCLASS. 

START-OF-SELECTION. 
DATA: Class1 TYPE REF TO Class1. 
CREATE Object: Class1. 
Write:/ Class1->text1. 
CALL METHOD: Class1->Display1.

上記のコードは次の出力を生成します-

ABAP Objects. 
This is the Display method.