java 板


LINE

※ 引述《sbrhsieh (十年一梦)》之铭言: : 这种说法已看过多次,但老实说我觉得蛮没有说服力的。 : 采用 interface 来实作多重型别时,就可以省去 ambiguity 的麻烦,是 : 一厢情愿的想法。 : 当一个 class implements 了两个拥有相同 name/signature method 的 interface : 时,只能提供一个 implementation,但是两个 interface 内的同 name/signature : method 的意义不一定相同,所以你不总是能够提供适当的 method implementation。 : 若"所以java解决这个问题"中的问题是指编译时会产生有时让人摸不着头绪的 : ambiguity 讯息,那我觉得 Java 的作法真的不算是一种进步。 这就要看看问题的观点是站在哪边。 从某种角度看:实作一个class的时候有两个interface (A&B)的method竟然相同,而且 当这个class的instance交给不同的使用者在用的时候,使用者以不同的interface看待 method其『意义』不同。 这其实也可以说,让这个class同时实作这两个interface是一种不良的设计。 也许有人可以找个非常漂亮的例子来说明一定得这麽做的理由,但坦白说,除了类似 I18N toString这样的情境我偶而会希望可以有这种功能外,其他时候我实在难以找到 可以善用这样的语言功能的例子。 而java这种『严格』『罗嗦』的特性反倒使得程式码一眼望去『总是可信任』的。 这个method的实现就是从ref type开始往上找到的第一个实作就是了。 也就是因为语言就是有着这样的设计限制,所以我工作的当下不用去想『如果这个猫不猫 兔不兔的物件得要在别人看他像猫的时候喵一声、像兔的时候耳朵抖两下时怎麽办?』 这种问题。而且我不只不用在阅读程式码的时候去想这问题,我设计架构的时候也可以 节省脑神经去考虑这种容易误用且总是有替代方案的作法。 或许得到的解法『不漂亮』,但因为限制的坏处带来的『不用考虑』,使得设计效率 是稳定的,程式产出增加,这反而成为一种好处。 其他的语言在这件事情上没有限制,而坏处没有被诟病,很多时候原因是这些语言的 热门是建立在特定平台、framework的兴起。於是语言没有节制的部份被平台与Framework 约制了而使得大批的中低阶开发者一开始就在范围里活动,所以不出事。 这种高级语言功能被恶用导致臭名昭彰的恶例就是C++,功能包山包海,函式库充满 各种误用的历史包袱...但或许也因为它的下场,人们找到更好的方式去设计发展下一代 的语言与开发环境。 至於进步,我是认为Java在这件事情上虽没有进步但是它『变好用』了。 而它变好用的方式就是『取消这个功能』,使得使用者不再浪费时间去想这种问题。 就追求知识的人来说这让人不爽,但就完成工作的人来说,这简约乾净的UX设计实在 太好了。 -- 生命起源於简单的化学反应,灵魂是脑神经上头的火花。 掌纹没有含意,不过是具有止滑功用的纹路。 而神不存在,死去的人们只是等待细菌分解的腐肉而已。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.164.59
1F:推 lovdkkkk:(y) 另推 "如果这个猫不猫兔不兔的..." 10/20 08:37
2F:→ dream1124:推 10/20 19:19
3F:→ swpoker:所以动态语言都推TDD不是没有原因的 10/21 09:04
4F:→ swpoker:说真的~应该要给我m的阿~好歹是我开头钓的哩 10/21 09:17
5F:推 PsMonkey:朕封你为第一任海钓王得主 XD 10/21 10:57







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP