作者mildman (夜梦纷)
看板java
标题Re: [问题] 请问interface到底是做什麽用的?
时间Sun Apr 16 00:03:48 2006
※ 引述《cplusplus (C++)》之铭言:
: ※ 引述《[email protected] (28mm看世界)》之铭言:
: : 在还没实作细部程式码之前
: : 我习惯先用interface把未确定怎麽实作的部份
: : (或懒得写..像资料库存取的程式)
: : 写出一个框框出来
: : 让我的主程式呼叫它不会出错 也先确定好那个程式要有什麽行为
: : 然後哪天想不开 等到下定决心了
: : 再来实作它 这就是interface XDDDD
: 你说的这个应该是 abstract class 吧
: interface没有任何"框框" java里面为什麽用implements配上interface
: 就是因为interface不做任何预设动作 抽象来看只是告诉你有这个介面的class可以提供
: 哪些功能
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这就是Interface的精神...开放出来的使用介面...或你想把他称为功能介面..
若觉得符合你需要...就去 implements此介面...不想实作也可以自己写method
达到同样功能....就像是C++里的public function...........
所以.....介面老实说我认为跟继承无关....继承是 is-a...介面不是........
有USB Interface的装置是有"USB介面传输功能",但是此装置不是一种(is-a)USB..
本质还是原本的的class...我猜这就是为何Java没有多重继承的原因..........
Interace 只是让你去实作延伸功能动作用的....让这个class的object都具有
此介面的功能.....若你不想用该介面....亦可自己写一样功能的介面....
但本质上我是觉得介面.......一点都不是继承.................
供参考......大家讨论也不错........
: 如果你有个method在class里当做一个预设行为 继承它可以不改写 就是套用预设行为
: (空的不做事也算是预设行为)
: 这样在java里归类在abstract class
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.92.216