一个关于Interface和Class定义的问题

明天好,会的 2003-10-19 05:42:14
通过对com的初步学习,我觉得Interface在只是把一些功能输出来了,但是Interface的设计和面向对象的设计思想好像有点不相融合.本人就在这里遇到了问题,苦苦挣扎,还望哪位老师能够教我
...全文
144 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldsjlzy 2003-10-22
  • 打赏
  • 举报
回复
如果你项目够大,并且那4个类有点逻辑意义的话,何不在组件级别上再建一接口并在其下定义不同接口方法来实现不同情况对前面4个类的调用。
也就是说4个类也定义成接口但对最终用户透明,然后再用一接口将其封装供最终用户调用。
明天好,会的 2003-10-22
  • 打赏
  • 举报
回复
谢谢李老师的提示,以后小弟还有问题还望多多指教
ldsjlzy 2003-10-21
  • 打赏
  • 举报
回复
在最开始,我就直接将这4个类定义为接口,但是发现这样的封装程度好像不够,在扎帐的时候写得代码比较多.

你在接口继承类中实现的代码为什么会比定义一个接口实现的代码要多?
明天好,会的 2003-10-21
  • 打赏
  • 举报
回复
我的设计前提是通过接口方法,将操作逻辑封装了, 但是这个操作逻辑可能要使用到几个类.还望楼上小李指教
明天好,会的 2003-10-21
  • 打赏
  • 举报
回复
楼上的各位老师说得都对,在代码的实现上,interface确实对应一个class,这个也是我感到头疼的地方,我觉得那个class只是为了实现interface,好像和类的设计有点撤不上关系,对于这个问题的提出我也是在实际运用到interface之后才遇到的,在之前,我的想法和楼上的各位一样.
我现在讲我遇到的实际问题给大家讲一下.
我在设计一个能够实现财务上扎帐的接口,由于先前设计的原因,要设计出这个功能,我必须使用到至少4个类,但是又不是所有的情况我都要使用到这4各类,不同的情况,使用的类也会不同.
在最开始,我就直接将这4个类定义为接口,但是发现这样的封装程度好像不够,在扎帐的时候写得代码比较多.
后来我就定义了一个名为Izz的接口,将不同的情况定义为不同的接口方法.这里其实就是用那个接口类来调用先前的那4个类.
这时我就遇到了问题,接口到底是按照类的原则来定义还是按照功能模块来定义.
这几天我一直在考虑这个问题,请老师们不吝赐教,谢谢
zming 2003-10-19
  • 打赏
  • 举报
回复

对,不理解Interface与Class的关系,就学不会面向对象。

举个不是很恰当的例子:

虎 是一个Interface
东北虎 是符合虎这个Interface的一个Class
华南虎 是符合虎这个Interface的另一个Class

Interface指明了某一些事物共性的行为,它不关心实现的细节(对外屏蔽了实现细节)。
Class则重点对Interface的行为进行实现。
ldsjlzy 2003-10-19
  • 打赏
  • 举报
回复
com的接口就是一切.正是面象对象设计的升华.
feeboby 2003-10-19
  • 打赏
  • 举报
回复
interface太经典了,好好补补
Analyst 2003-10-19
  • 打赏
  • 举报
回复
简直搞笑,interface是面向对象的精髓,怎么可能不相容。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧