ページビューの合計

イエスから目を離さないでいなさい。(へブル 12:2)

2017-06-01

JAVAの多態性、ポリモーフィズムってなに

Aの型の変数a が、Bのオブジェクトb-obj だったり、
Cのオブジェクトc-obj だったりすることだよ
a =  b-obj; a = c-obj;

この世界でいうと、魚の型の変数に
いか が入ったり、まぐろ が入ったりすることよ

魚  sakana1 = new いか();
魚  sakana2 = new まぐろ();

こうできるのは
いか、まぐろ のクラスが魚クラスを継承しているときよ

class  いか extends 魚{...}
class  まぐろ extends 魚{...}

魚の泳ぐメソッドの場合、こんなふうになるよ

class 魚{
  String 泳ぐ(){ return " 尾びれを振る"; }
}
class  いか extends 魚{
  void  泳ぐ(){  return "水を吹いて"; }
}

いか の泳ぐメソッドをじっこうすると、
「水を吹いて」が表示され
まぐろ の泳ぐメソッドでは、
「尾びれを振る」が表示されるよ

ところで動物学でこれが正しいかは検証してないよ