[問題] 還是不太懂多型
有一個類別叫做類別形狀,另外有兩個類別叫做類別三角型和類別正方型,用我打的
程式為例
classA
{
void function(類別形狀 形狀)
{
.....
.....
}
}
classB
{
public static void main(String args[])
{
類別形狀 形狀=new 類別三角型();
形狀.function(形狀);
類別形狀 形狀=new 類別正方型();
形狀.function(形狀);
}
}
1.多型就是有很一種類別有很多的類別型態,因為classA的function裡的參數
,不知道會傳什麼型態進來,所以就用多型,我這樣子講對嗎?這就是多型的
好處嗎?
2.我看書上說就是因為第一個問題:我們不知會有什麼類別傳入,所以我們用
多型,可是程式是自己打的,為什麼自己會不知道會有什麼類別傳入參數?
因為我覺得自己會知道是什麼類別會傳入,所以主方法裡可能就改成 類別
三角型 形狀=new 類別三角型();或是類別正方型 形狀=new 類別正方型()
;而不是用多型的方法去寫它。
3.多型可以應用在那裡呢?什麼情況最適合用甚至是必定要用的呢?
書上還寫說"多型是建立在繼承的基礎之上的,沒有繼承,就不會有多型",可
是我上面寫的例子,classB沒有extends classA,它們之間沒有繼承關係,但
是有多型的關係,我覺得書是不會寫錯,那我的觀念那裡錯了?
問題有點多,麻煩高手指導一下我的觀念,非常謝謝了!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.10.6
推
10/25 21:42, , 1F
10/25 21:42, 1F
推
10/25 22:38, , 2F
10/25 22:38, 2F
→
10/25 22:40, , 3F
10/25 22:40, 3F
→
10/25 22:42, , 4F
10/25 22:42, 4F
推
10/25 22:45, , 5F
10/25 22:45, 5F
推
10/25 22:45, , 6F
10/25 22:45, 6F
→
10/25 22:47, , 7F
10/25 22:47, 7F
推
10/25 22:49, , 8F
10/25 22:49, 8F
→
10/25 22:51, , 9F
10/25 22:51, 9F
推
10/25 23:50, , 10F
10/25 23:50, 10F
推
10/26 01:51, , 11F
10/26 01:51, 11F
推
10/26 01:54, , 12F
10/26 01:54, 12F
→
10/26 09:59, , 13F
10/26 09:59, 13F
→
10/26 10:01, , 14F
10/26 10:01, 14F
推
10/26 12:26, , 15F
10/26 12:26, 15F
推
10/26 15:31, , 16F
10/26 15:31, 16F
→
10/26 15:33, , 17F
10/26 15:33, 17F
→
10/26 15:35, , 18F
10/26 15:35, 18F
討論串 (同標題文章)