n***@ptt.cc
2007-05-20 05:02:12 UTC
我在書上看到,
假設Cat與Dog都是繼承在Animal底下,
則我用Animal產生的物件可以直接等於Cat所產生的物件,
因為子類別的物件一定會是"父類別的物件"的一種,
所以可以用:
Anamal father = new Anamal();
Cat son = new Cat();
則可以 father = son ;
但反之則不成立,
也就是說如果是 son = father 會出現編譯錯誤,
但我在書上看到只要父類別是宣告成抽象類別,
也就是 abstract Animal 的話,
是不是就可以讓 son = father 成立而不會出現編譯錯誤,
還是說跟抽象類別也沒有關係,
但是我在書上的確有看到將 子類別物件 = 父類別物件 的例子,
那是在什麼時候,
或是什麼條件下可以讓 子類別物件 = 父類別物件呢?
請高手幫忙一下嚕!
頭腦快打結了!
謝謝
--
[0m [32;42m███[1m●/ [37mJava中Int與Integer有什麼不一樣?
[0m [42m [41m電[42m [32;1m/■ [37;5m\[0;42;1m [0;42m師:那我們請小華來回答這個問題[32;1m
[0m [41m腦[40m [32;1m/\ [37;5m-[0;32;1m [0m師:(筆掉)天啊!居然[5m連這都不知道
[0m [33;1m華:[5m就是byte數不一樣ㄎㄎ[0m 哈哈哈哈
[0m [36m囧[35;1m [34m\● [0;35m囧[1m [34m● [35m● [34m●
[0m [33m╓[37;46m俊[33;40m╖ ╓[44;1m華[0;33m╖ ╓[37;45m國[33;40m╖ ╓[34;1m■[0;33m╖ ╓[35;1m■[0;33m╖ ╓[34;1m■[0;33m╖
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.22.179
※ 編輯: naturalskyss 來自: 61.228.22.179 (05/20 13:07)
假設Cat與Dog都是繼承在Animal底下,
則我用Animal產生的物件可以直接等於Cat所產生的物件,
因為子類別的物件一定會是"父類別的物件"的一種,
所以可以用:
Anamal father = new Anamal();
Cat son = new Cat();
則可以 father = son ;
但反之則不成立,
也就是說如果是 son = father 會出現編譯錯誤,
但我在書上看到只要父類別是宣告成抽象類別,
也就是 abstract Animal 的話,
是不是就可以讓 son = father 成立而不會出現編譯錯誤,
還是說跟抽象類別也沒有關係,
但是我在書上的確有看到將 子類別物件 = 父類別物件 的例子,
那是在什麼時候,
或是什麼條件下可以讓 子類別物件 = 父類別物件呢?
請高手幫忙一下嚕!
頭腦快打結了!
謝謝
--
[0m [32;42m███[1m●/ [37mJava中Int與Integer有什麼不一樣?
[0m [42m [41m電[42m [32;1m/■ [37;5m\[0;42;1m [0;42m師:那我們請小華來回答這個問題[32;1m
[0m [41m腦[40m [32;1m/\ [37;5m-[0;32;1m [0m師:(筆掉)天啊!居然[5m連這都不知道
[0m [33;1m華:[5m就是byte數不一樣ㄎㄎ[0m 哈哈哈哈
[0m [36m囧[35;1m [34m\● [0;35m囧[1m [34m● [35m● [34m●
[0m [33m╓[37;46m俊[33;40m╖ ╓[44;1m華[0;33m╖ ╓[37;45m國[33;40m╖ ╓[34;1m■[0;33m╖ ╓[35;1m■[0;33m╖ ╓[34;1m■[0;33m╖
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.22.179
※ 編輯: naturalskyss 來自: 61.228.22.179 (05/20 13:07)