JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區 » Object/物件導向  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:[實力測試]什麼是多型? [Re:caterpillar]
alien

小弟劣作一幅



發文: 772
積分: 6
於 2005-07-06 01:23 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
caterpillar wrote:
我的理解是。。。

在Java中的多型操作時,物件本身並沒有什麼改變,型別被視為身份可以接受,但我的想法是型別在Java中只不過是一層「殼」,物件上有各種操作方法,使用適當的殼可以操作上面的某些方法,換個操作介面就像換個殼,就我的理解,物件唯一的型別就是定義它的class。。。

我覺得這邊與我們認知的其實是同一個東西,我的想法是,「人」這個實例本身沒有改變,改變的只是他的身份,「人」要說它的型別的話,「人」就是它的型別,身分是他的表面(介面)。。。換個身分,它就換個功能(例如展現出員工,老公,爸爸等功能。。。)


與我的想法一樣 Smile
其實我想大家都明白這道理的.
我想指的重點是, Polymorphism 一詞的著眼點是在於 "人" 能有多個 "身份", 而你之前說到, Polymorphism 指的是同一介面 (身份) 能操作不同的實作.
雖然這可以說是一個硬幣的兩面, 但 polymorphism 的著眼是前者, 我想說的僅此而已 Smile


這邊我其實不太將Overloading與template視為多型,Overload與template是在編譯時期可以決定的,多型則涉及執行時期的動態性、後期綁定,編譯時期無法知道您會操作哪一個實例。。。

去找找資料的話, 不難找到很多討論都會談到 template 乃 compile-time polymorphism.

我並不反對這種說法.

所以我才特別提到 OOP 中的 Polymorphism Smile

template, method overloading 等, 依我愚見, 也同意是與 *OOP 的 Polymorphism* 無關. 但的確它們 (某程度而言) 也是 Polymorphism.


如果是用C++的多重繼承,一個繼承實作體,一個繼承抽象類別(一個內部都是純虛擬函式的類別),將後者類比至Java的interface的話,我倒可以理解實作介面是繼承的一種,但純就Java的語義來說,似乎不適當。。。

同上,如果以類比C++中多重繼承的話,這邊我們認知的是相同的東西。。。

以上都是我的理解。。。


個人覺得, 不該把語法上的 "inheritence" 直接當成 OOP 中 inheritence 的概念. 因為雖然兩者是有相當的關係, 但始終概念上是有分別的.

也如我之前所言, 有人說的 "介面的繼承", 我自己不當成繼承來看的 Smile 那只是 Java/C++ 達成 OOP 的 Polymorphism 的手段而已.

我自己的看法是, C++/Java 語言上的 "繼承" ( : 或 extends), 達成了 OOP 中的 Inheritence 與 Polymorphism 的特點. 而 Java 的 Interface 與 C++ 中的全部皆為 pure virtual method 的 super class, 則達成 OOP 的 Polymorphism.

一些以前思考 Java/C++ 與 OOP 的心得. 希望不會錯得太離譜 Wink


reply to postreply to post

public class Alien {
public boolean isNewbie() {
return true;
}
public String toString() {
return "請大家多多指教";
}
}
話題樹型展開
人氣 標題 作者 字數 發文時間
64925 [精華] [實力測試]什麼是多型? BruceHsu 1745 2003-09-12 21:35
61594 Re:[實力測試]什麼是多型? swanky 20 2003-09-12 21:48
61371 Re:[實力測試]什麼是多型? BruceHsu 82 2003-09-12 21:57
61710 Re:[實力測試]什麼是多型? Duncan 2568 2003-09-12 22:56
57130 Re:[實力測試]什麼是多型? 183 2004-12-26 02:09
57033 Re:[實力測試]什麼是多型? leonz 13 2004-12-26 04:23
57524 Re:[實力測試]什麼是多型? caterpillar 325 2004-12-26 23:36
56488 Re:[實力測試]什麼是多型? roycliu 195 2005-01-08 15:38
51822 Re:[實力測試]什麼是多型? ylam 32 2005-07-04 22:21
51755 Re:[實力測試]什麼是多型? caterpillar 144 2005-07-05 18:43
51694 Re:[實力測試]什麼是多型? alien 784 2005-07-05 19:06
51667 Re:[實力測試]什麼是多型? caterpillar 1297 2005-07-05 20:32
51679 Re:[實力測試]什麼是多型? alien 1401 2005-07-06 01:23
10890 Re:[實力測試]什麼是多型? sample33 201 2015-09-22 07:31
51574 Re:[實力測試]什麼是多型? caterpillar 495 2005-07-05 20:42
51747 Re:[實力測試]什麼是多型? Duncan 258 2005-07-05 21:58
51405 Re:[實力測試]什麼是多型? ylam 218 2005-07-06 21:50
51409 Re:[實力測試]什麼是多型? Lan2 191 2005-07-06 21:57
51350 Re:[實力測試]什麼是多型? alien 286 2005-07-07 19:57
51742 Re:[實力測試]什麼是多型? ylam 9 2005-07-07 20:28
51334 Re:[實力測試]什麼是多型? alien 138 2005-07-08 00:05
51253 Re:[實力測試]什麼是多型? ylam 97 2005-07-08 17:20
51217 Re:[實力測試]什麼是多型? alien 269 2005-07-08 22:23
51248 Re:[實力測試]什麼是多型? Lan2 23 2005-07-08 19:31
61176 Re:[實力測試]什麼是多型? Duncan 481 2003-09-12 21:54
60945 Re:[實力測試]什麼是多型? BruceHsu 254 2003-09-12 21:55
60890 Re:[實力測試]什麼是多型? BruceHsu 239 2003-09-12 21:56
51168 Re:[實力測試]什麼是多型? ylam 20 2005-07-09 09:44
51100 Re:[實力測試]什麼是多型? alien 122 2005-07-10 00:05
51194 Re:[實力測試]什麼是多型? lkkll 175 2005-07-09 14:50
51096 Re:[實力測試]什麼是多型? alien 366 2005-07-10 00:46
51106 Re:[實力測試]什麼是多型? lkkll 52 2005-07-10 14:23
50972 Re:[實力測試]什麼是多型? lkkll 260 2005-07-10 14:39
50995 Re:[實力測試]什麼是多型? lkkll 220 2005-07-10 14:52
50658 Re:[實力測試]什麼是多型? caterpillar 464 2005-07-10 16:35
50956 Re:[實力測試]什麼是多型? lkkll 201 2005-07-10 15:35
50666 Re:[實力測試]什麼是多型? caterpillar 40 2005-07-10 16:21
50589 Re:[實力測試]什麼是多型? lkkll 54 2005-07-10 16:39
50419 Re:[實力測試]什麼是多型? caterpillar 127 2005-07-10 19:13
50371 Re:[實力測試]什麼是多型? lkkll 31 2005-07-10 21:23
60809 Re:[實力測試]什麼是多型? BruceHsu 43 2003-09-12 22:53
60983 Re:[實力測試]什麼是多型? Duncan 568 2003-09-12 23:06
60811 Re:[實力測試]什麼是多型? BruceHsu 567 2003-09-12 23:08
50423 Re:[實力測試]什麼是多型? caterpillar 74 2005-07-10 21:30
50372 Re:[實力測試]什麼是多型? lkkll 43 2005-07-10 22:45
50388 Re:[實力測試]什麼是多型? caterpillar 476 2005-07-10 22:57
50459 Re:[實力測試]什麼是多型? alien 668 2005-07-10 23:42
50390 Re:[實力測試]什麼是多型? caterpillar 165 2005-07-10 23:54
50366 Re:[實力測試]什麼是多型? alien 161 2005-07-11 00:02
50291 Re:[實力測試]什麼是多型? ylam 76 2005-07-12 20:07
50131 Re:[實力測試]什麼是多型? alien 117 2005-07-14 22:20
49461 Re:[實力測試]什麼是多型? fwen 72 2005-08-10 02:29
49980 Re:[實力測試]什麼是多型? alien 169 2005-08-10 09:59
62860 Re:[實力測試]什麼是多型? T55555 416 2003-09-13 00:30
60927 Re:[實力測試]什麼是多型? Yoshi 416 2003-09-13 00:41
60858 Re:[實力測試]什麼是多型? Duncan 789 2003-09-13 01:48
60718 Re:[實力測試]什麼是多型? caterpillar 0 2003-09-13 01:35
61625 Re:[實力測試]什麼是多型? Duncan 2583 2003-09-14 01:16
56180 Re:[實力測試]什麼是多型? 湯瑪士小火車 359 2005-01-07 15:37
61531 Re:[實力測試]什麼是多型? T55555 1346 2003-09-13 02:17
61016 Re:[實力測試]什麼是多型? Duncan 1680 2003-09-13 02:30
60854 Re:[實力測試]什麼是多型? Yoshi 1140 2003-09-13 02:47
60928 Re:[實力測試]什麼是多型? Duncan 1677 2003-09-13 02:59
60247 Re:[實力測試]什麼是多型? yysun 242 2004-02-06 08:08
60206 Re:[實力測試]什麼是多型? psmonkey 489 2004-02-06 19:15
60266 Re:[實力測試]什麼是多型? yysun 66 2004-02-06 19:42
57674 Re:[實力測試]什麼是多型? doris 333 2004-12-16 22:06
» JWorld@TW »  Java 新手區 » Object/物件導向

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8