看板java
标 题Re: [问题] 请问interface到底是做什麽用的?
发信站巧克力传奇 (Sun Apr 16 00:21:33 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ncu!news.cgu!CHOCO
※ 引述《[email protected] (C++)》之铭言:
> ※ 引述《[email protected] (28mm看世界)》之铭言:
> : 在还没实作细部程式码之前
> : 我习惯先用interface把未确定怎麽实作的部份
> : (或懒得写..像资料库存取的程式)
> : 写出一个框框出来
> : 让我的主程式呼叫它不会出错 也先确定好那个程式要有什麽行为
> : 然後哪天想不开 等到下定决心了
> : 再来实作它 这就是interface XDDDD
> 你说的这个应该是 abstract class 吧
> interface没有任何"框框" java里面为什麽用implements配上interface
> 就是因为interface不做任何预设动作 抽象来看只是告诉你有这个介面的class可以提供
> 哪些功能
> 如果你有个method在class里当做一个预设行为 继承它可以不改写 就是套用预设行为
> (空的不做事也算是预设行为)
> 这样在java里归类在abstract class
其实....我不喜欢用 abstract class, 因为它是继承关系
在物件 design principle 里....某条讲到说, 最好还是别用is-a, 多用has-a
又在某条法则里提到....细节应依赖於抽象, 抽象不应依赖於细节
最好的做法, 就是先用抽象来定义好藕合结构再用实作来完成它
所以....既然abstract class跟interface蛮接近的, 所以会习惯用interface
不过, 最近没碰到非用 abstract class 不可的程式倒是 @@b
--
java 好烦唷....有没有人要一起来学Ruby呀 ~"~|||
--
※ Origin : 长庚巧克力传奇/bbs.cgu.edu.tw/163.25.104.12
◆ By: fayhong From: 218-167-220-32.dynamic.hinet.net