0

研究から私が学んだこと:

オーバーロード、演算子のオーバーロード、およびオーバーライドは、ポリモーフィズムと呼ばれるものです。

ポリモーフィズムとは、同じエンティティが時々異なる動作をすることを意味します

例えば:

パラメトリック

add(12, 13);
add(12.2, 13.3);

同じエンティティ(add())が時々異なる動作をする( double で機能し、 int で機能します)。

// テンプレートはここでも機能します

このために

Animal dogInstance = new Dog();
Animal catInstance = new Cat();
dogInstance.sound(); //bark
catInstance.sound(); //meow

同じエンティティ ( sound() ) が時々異なる動作をする場合、
sound() はインスタンス (犬または猫) に応じて機能します)。

オーバーロード、テンプレート、およびジェネリックはコンパイル時に発生します (コンパイル時のポリモーフィズム)。
オーバーライド、演算子のオーバーロードは実行時に発生します (実行時ポリモーフィズム)。

パラメトリック ポリモーフィズムとは、同じコードを複数のデータ型に適用できる場合です。
元。オーバーロード、テンプレート、およびジェネリック

アドホック ポリモーフィズムとは、異なるデータ型に対して異なるコードが使用される場合です。
元。オーバーライド、演算子のオーバーロード

追加の質問:

演算子がアドホック (動的バインディング) にオーバーロードされるのはなぜですか?

また:

あなたがプログラマーである場合、ランタイム ポリモーフィズム、コンパイル時ポリモーフィズム、動的リンク、静的リンク、フレームワークの意味、
フレームワークとライブラリの違い、軽量フレームワークとは何かなどを気にする必要があります。私のプログラムが機能する限り、プログラミング?

4

2 に答える 2