作者godfat (godfat 真常)
看板java
标题Re: [问题] 想请问interface的具体意义
时间Tue Jan 23 11:23:20 2007
这个 thread 好热门 XD
※ 引述《jaw109 (泼文章都是为了养小鸡)》之铭言:
: 抱歉我困惑了,因为要这麽使用的话
: 有点违反我对物件导向的理解
: 容我再举个例子
: 我:"可以跟你一起去吃饭吗"
: 正妹:"你有存在任何交通工具吗?"
: 我:"我有一台Civic跟一台Dio, 但是Civic被我爸开走了"
: 正妹:"Dio是一种汽车吗?"
: 我:"不,Dio是一种机车"
: 正妹:"你没有任何一辆汽车,那麽我才不跟你出去呢"
: 我:".........."
: 我一直以为 这样的架构下 交通工具才是这整个family的super class
在单一继承体系下,这样的理解不能说有什麽错
因为一般不会把 Java interface 也视为 superclass
(虽然对我来说确实是 superclass)
但在 C++ 中没有 interface 这个 keyword,
所以以语言层面来说,电动雨刷确实是其 superclass.
: 如果电动雨刷才是super class的话...
多重继承体系下,可以有各个不同的 superclass,
交通工具与电动雨刷,同样都是汽车的 superclass.
(不过请注意,这边是拿你的例子来举例的,
使用 继承/interface 是你的前提,这设计好不好是另一回事)
: 那麽正妹应该会这麽问:"你有存在任何电动雨刷吗?"
: 这.....这我不是很能理解耶....
如果正妹在意的是「电动雨刷」,那他这样问也没什麽不对
只是有人在意这个的话会让我觉得很神奇|||b
anyway, 假设你的正妹在意的其实是汽车
那他为何不直接问是否有汽车,而要问是否有交通工具?
这样忽然跑出来一个迪奥,也不是什麽不对的事啊
(还是说,迂回地问是人性? XD)
不过也如同 PsMonkey 所说,只要程式写起来快、方便、好用
物件导向也不是什麽绝对不能违反的事,违反现实世界更不在话下了 XD
另外也如同 Alien 所说,「能刷雨」会是个比「电动雨刷」好的名字
--
By Gamers, For Gamers - from the past Interplay
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18