21

Animal と Dog という 2 つのクラスがあるとします。Dog は Animal のサブクラスです。次のコードを実行します。

Animal a = new Dog();

これで、a 変数を介して Dog クラスのメソッドを呼び出すことができます。

しかし、私の質問は次のとおりです。Dog オブジェクト (継承) を介して Animal のすべてのメソッドを呼び出すことができる場合、なぜポリモーフィズムの原則を使用する必要があるのでしょうか? 私はただ宣言することができます:

Dog d = new Dog();

この宣言により、Animal のメソッドと Dog のメソッドのすべてを使用できます。では、なぜポリモーフィズムを使用するのでしょうか。ご回答どうもありがとうございました。

4

6 に答える 6

0

継承は動的ポリモーフィズムです。つまり、継承を削除すると、オーバーライドできなくなります。

于 2017-12-07T15:54:49.783 に答える