多型
以哺乳類動物為例
             小狗、小貓皆為哺乳類動物,反言之 哺乳類裡有小狗、小貓這兩種子類別(包含了繼承的觀念)
             所以 哺乳類又為抽象類別(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;
                   
            
沒有留言:
張貼留言