多型
以哺乳類動物為例
小狗、小貓皆為哺乳類動物,反言之 哺乳類裡有小狗、小貓這兩種子類別(包含了繼承的觀念)
所以 哺乳類又為抽象類別(abstract)也是小狗小貓的父類別。
○ 當哺乳類(父類別)要產生很多子類別
mammals [] m = new dog[],new cat[], new fish[]; 中括號(new 出子類別)
○ 哺乳類可以指向子類別(ex:小狗)去產生一個通用型態
dog d = new mammals ();(屬性);小括號(屬性)
○ instanceof 是用來判斷父類別參用哪一個子類別的實例
mammals m = new dog d (屬性);
if ( m instanceof dog) {} // true → (表示父類別(哺乳類)現在是指向子類別(小狗))
○ 當父類別參用了子類別時,並無法更改其宣告值,除非強制轉型為子類別才能修改其宣告值
mammals m = new dog d (屬性);
m.name = " candy";
m.age = 5;
強迫轉型
dog d = (dog) m;
d.name = "candy";
d.age = 5;
沒有留言:
張貼留言