私の質問は、タイトルにあるように、 ABAP オペレーターの=
との違いは何ですか??=
27449 次
4 に答える
13
?=
(ダウン)キャスト演算子です。これは参照変数間の割り当てに使用され、その割り当て可能性はランタイムの開始時にチェックされます。
ウィキペディアの一般的な説明を参照してください。
例:
DATA fruit TYPE REF TO zcl_fruit.
DATA apple TYPE REF TO zcl_apple. " inherits from zcl_fruit
DATA apricot TYPE REF TO zcl_apricot. " inherits from zcl_fruit
...
case fruit->type.
when 'apple'.
apple ?= fruit.
seeds = apple->seeds.
when 'apricot'.
apricot ?= fruit.
seeds = VALUE #( ( apricot->kernel ) ).
endcase.
7.40 以降、コンストラクター演算子CAST
を使用できます。
DATA fruit TYPE REF TO zcl_fruit.
...
case fruit->type.
when 'apple'.
seeds = CAST zcl_apple( fruit )->seeds.
when 'apricot'.
seeds = VALUE #( ( CAST zcl_apricot( fruit )->kernel ) ).
endcase.
于 2009-08-03T04:06:58.603 に答える
0
参照変数間の代入はキャスト演算子(?=)ですが、具体的にはダウンキャスト演算子です。
于 2016-04-22T11:18:51.573 に答える