作者qrtt1 (隐者)
看板java
标题Re: [问题] 请问interface到底是做什麽用的?
时间Fri Apr 14 11:30:51 2006
※ 引述《kazenol (随便啦)》之铭言:
: 嗯...这边我的问题是,物件的compareTo方法,可不可以直接定义在物件的class里?
: 因为物件去继承介面,也是要在自己里面去定义方法,那为什麽不自己来呢?
: 从多重继承的字面来看,应该是会使用到父母类别的方法或变数,可是介面里写的
: 东西,除了跟父母类别的方法同名以外,我不知道继承介面可以得到父母类别的什麽
: 东西?而且其他不是父母类别的类别,万一有了同样名称的方法,那不就变成同时也
: 去继承这个第三者了?
: 其他几位大大的写法,我能理解其中的:先定义一个规范,其他要继承这个类别的
: 就要去把规范的内容写出来。就好像是体委会丢一个建立二军的公文要求中职六队
: 去建立二军,但是体委会什麽目标、进程都没有,要六队自己提出建立二军的规划表
: 然後上缴体委会,所以六队提出的内容也会不一样,但是基本上都有依照体委会"建立
: 二军"的目标去做。
: 可是不见得每个二军规划表都有像la new一样有"球员专用餐厅"啊,如果要使用
: 二军.餐厅()这个func,不就会卡住?如果中职六队不去继承体委会这个介面,他们也
: 可以不用理会建立二军这个规范。那是什麽原因这些class必须去继承这个介面呢?
http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/
StrategyPattern.htm
Strategy Design Pattern 通常用这样的机制去实践的
也许您可以先看看感觉一下作者的意图
我们不能以程式的观点来看这个问题! 因为写法有很多种。
但是要如何使程式达成松散的耦合则是一整个系统中的重点之一
您确时可以把演算法写死在同一个class之内 :)
含有这只演算法的物件, 可能无法轻易更换
因为演算法是针对这个物件而写
反之,演算法也无法重复使用在别的物件之上
因为被绑死了,也就是传说中的交互性耦合
这样就失去了物件导向期待reusable的目标了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.26.34.214