SJC-Pの時に勉強したんだけど、ごっちゃになってきたので、整理しておきます。
あるサブクラスのオブジェクトをスーパークラスの変数として扱ったときに、
フィールドとメソッドで異なった動きをする。
どっちがどっちかわかんなくなったので、実際にプログラムを書いて走らせてみた。
このようなSuperクラスとSubクラスがあったときに、次のプログラムを実行
まとめ
・フィールドは、オブジェクトの型ではなく、変数の型のものが呼ばれる
・メソッドは、変数の型ではなく、オブジェクトの型のものが呼ばれる
あるサブクラスのオブジェクトをスーパークラスの変数として扱ったときに、
フィールドとメソッドで異なった動きをする。
どっちがどっちかわかんなくなったので、実際にプログラムを書いて走らせてみた。
このようなSuperクラスとSubクラスがあったときに、次のプログラムを実行
まとめ
・フィールドは、オブジェクトの型ではなく、変数の型のものが呼ばれる
・メソッドは、変数の型ではなく、オブジェクトの型のものが呼ばれる

コメントする