Re: [問題] 面試時被問到介面功能

看板java作者 (畢業了..@@")時間11年前 (2013/10/17 15:49), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串6/14 (看更多)
※ 引述《sbrhsieh (十年一夢)》之銘言: : 這種說法已看過多次,但老實說我覺得蠻沒有說服力的。 : 採用 interface 來實作多重型別時,就可以省去 ambiguity 的麻煩,是 : 一廂情願的想法。 : 當一個 class implements 了兩個擁有相同 name/signature method 的 interface : 時,只能提供一個 implementation,但是兩個 interface 內的同 name/signature : method 的意義不一定相同,所以你不總是能夠提供適當的 method implementation。 : 若"所以java解決這個問題"中的問題是指編譯時會產生有時讓人摸不著頭緒的 : ambiguity 訊息,那我覺得 Java 的作法真的不算是一種進步。 : 多重實作繼承確實是麻煩的一件事,但是用同 name/signature 的 method 為例子 : 是不足以證明 interface 繼承是更好的作法。 我覺得應該要這樣看 多重實作繼承很複雜難用. 所以JAVA把繼承分成單一實作繼承(class)跟多重介面繼承(interface) 所以interface算是解決多重"實作"繼承複雜的問題 但是沒有解決多重(介面)繼承signature collision的問題.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.163.46.230

10/17 15:58, , 1F
那個 collision 的問題是有可能解決的嗎? [抓頭]
10/17 15:58, 1F

10/17 16:25, , 2F
C#的方案是你可以指定method要binding到哪個inteface上
10/17 16:25, 2F
文章代碼(AID): #1INvQKQJ (java)
討論串 (同標題文章)
文章代碼(AID): #1INvQKQJ (java)