私の質問はタイトルと同じですが、=
と?=
の違いは何ですか?ABAP演算子の?=の意味は何ですか?
7
A
答えて
10
Casting operator(?=
)参照変数間の割り当てで、割り当てが実行時に開始される早期にチェックされます。
-3
?=継承されたクラスのオブジェクト参照を、その継承元のスーパークラスのオブジェクトに型キャストするために使用されます。
?=
型キャストは、タイプのみ実行時に解決されるサブクラスのいくつかのオブジェクト参照を参照するために役立ちます。親クラスオブジェクトリファレンスはオブジェクトを保持でき、実行時に型キャストリファレンスが保持しているサブクラスオブジェクトを特定するために使用できる親クラスのメソッドが存在することがよくあります。
0
参照変数間の代入についてはキャスト演算子(?=)ですが、特にダウンキャスト演算子です。
0
?=フォーム
その継承クラスオブジェクトがスーパークラスのオブジェクトを参照するために使用されている[親クラスのオブジェクト参照]!= [継承されたクラスのオブジェクト参照]
これは有用です実行時に型の解決が発生したとき。アップキャストには?=を指定することもできますが、通常は必要ありません。
関連する問題
- 1. 演算子の意味は?|
- 2. Pythonでは/ =演算子の意味は何ですか?
- 3. C#のプロパティで "=>"演算子の意味は何ですか?
- 4. &演算子の意味は何ですか?次のコードで
- 5. C++での " - >"演算子の意味は何ですか?
- 6. これらの演算子の意味は何ですか(**、^、%、//)? - Python?
- 7. C#で演算子| =の意味は何ですか?
- 8. JavaScriptで '/ ='演算子の意味は何ですか?
- 9. 演算子は何ですか=意味ですか?
- 10. Haskell演算子 "<>"の意味は何ですか?
- 11. | =演算子の意味は何ですか?
- 12. プロローグ演算子 "_:_" - 意味は?
- 13. Scalaでは `# '演算子は何を意味しますか?
- 14. "+ +"演算子の意味(++ではない)
- 15. この演算子は何を意味しますか?
- 16. Clojureで#^演算子は何を意味していますか?
- 17. | =演算子はC++で何を意味しますか?
- 18. 「インライン演算子T *()const」は何を意味しますか?
- 19. "<>"演算子は何を意味しますか?
- 20. Dockerの演算子$()は何を意味する
- 21. C#コードの=>演算子の意味
- 22. データセットの演算子(「選択」や「フィルタ」など)の「$」の意味は何ですか?
- 23. 構造体内の演算子 ":"はCの意味ですか?
- 24. この ">> ="演算子はCの意味ですか?
- 25. このJavaScript演算子の意味は何ですか? >>>
- 26. ハスケルの/ =演算子はどういう意味ですか?
- 27. Rの%||%演算子はどういう意味ですか?
- 28. 演算子の前にあるドットはCで何を意味しますか?
- 29. C++単項演算子はクラスの意味で何を使用しますか?
- 30. Pythonでは "<>"演算子は何を意味しますか?
主に異なるタイプの参照変数をキャストするために使用されていることに注意してください。同じタイプの参照変数の間で代入する場合は、まだ使用することができます= – Esti
私はちょうどダウンキャストで使用されるこの演算子を追加したい、より具体的なサブクラスの参照にスーパークラスのobjを割り当てるとき、キャスト演算子)、これは実行時エラーにつながります:subclass?= superclass – KurzedMetal