作者popcorny (毕业了..@@")
看板java
标题Re: [问题] 面试时被问到介面功能
时间Thu Oct 17 15:49:37 2013
※ 引述《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
1F:推 PsMonkey:那个 collision 的问题是有可能解决的吗? [抓头] 10/17 15:58
2F:→ Chikei:C#的方案是你可以指定method要binding到哪个inteface上 10/17 16:25