什么是“调用接口”,或者说“怎样理解接口

 我来答
corpsos
2017-04-20 · TA获得超过383个赞
知道小有建树答主
回答量:234
采纳率:87%
帮助的人:64.6万
展开全部
你的这些疑问大概都源于一个问题:接口到底是什么?
这个问题我也是研究了好多天才整明白的。MSDN、书上什么的都是直接写它的样子、形状、规则、像什么……等等的,就是不说它到底是个啥!不明白老外都怎么想的!

我把我自己的笔记摘一段下来:

接口,是一种约束形式,或者叫连接通路,它为不相关的类提供通用的处理服务:
1、不相关的类可以通过接口调用“接口功能类(或结构)”中的同名的方法、属性、索引器和事件;接口中只描述这些方法(或属性、索引、事件)的签名;而基于该接口的“接口功能类(或结构)”里面(是指实现接口功能的类或结构,而非调用它们的类),则是描述了这个同名的方法、属性、索引器和事件的各自不同的具体实现代码。
2、当有类或程序调用该接口所描述的方法、属性、索引器或事件(即接口成员)时,编译器会通过接口找到对应的那个”接口功能类或结构”,然后执行里面的功能代码。
3、这种通过接口的调用,到底指向哪个“接口功能类(或结构)”中的方法、属性、索引器或事件,是通过与多态性的结合来实现的。如果没有多态性相关代码绑定,接口就毫无意义。

虽然你的问题里的一/二/三没有前言后语的很难回答,不过我想,你理解了上面所描述的“接口 到底是什么”的问题以后,就都能解决了。
注:
关于“多态性绑定”的实现需要在理解了上面的内容以后,再研究一下“多态性”这个问题,就能迎刃而解了。
提示:
涉及到主系统和子系统的问题时,要根据你的程序组织结构和相关的引用(命名空间、外部类、访问域等)来具体问题具体分析。
广东轻亿云软件
2024-05-14 广告
广东轻亿云软件科技有限公司在软件开发领域深耕多年,积累了丰富的经验和技术实力。我们深知API接口在现代软件开发中的重要性,因此,我们与多家业界领先的API接口提供商保持着紧密的合作关系,确保我们的产品和服务能够充分利用这些接口,为用户提供更... 点击进入详情页
本回答由广东轻亿云软件提供
好程序员
2017-03-24 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部
接口不就是一种契约,一种规范。在“接口”中定义“方法”(接口中不允许有属性对吧???),然后被类中的其它方法继承实现对吧。

小弟在接口的使用时有点疑问。

问题一:为一个子系统定义接口,然后其它子系统通过接口来进行访问该子系统。这时其它子系统就要“调用”“该系统的接口”,怎么个调用法,通过实现接口中的方法???

问题二:比如“后台维护子系统”,它其中有很多“用例类”(类是根据用例抽象来的),每个类都有“增、删、改、查”,这些“增、删、改、查”可不可以抽象出来,抽象成接口,或者基类。

问题三:如果抽象出接口,接口应该怎样定义???
这个接口是对“子系统外”开放,还是对“子系统内“开放?
第一种方式:接口中定义“增、删、改、查”这些方法,那么方法的实现就是“子系统中的用例类”,子系统外的“子系统”有办 法访问吗???这是接口起到什么样的作用???这是接口换成基类或是抽象类可能更合适。

第二种方式:接口中定义获取“该子系统用例类”的方法,这时“子系统外”的子系统就可以实现这些“获取”“该 子系统用例类”的方法,进而得到“系统用例类”,进行操作。这样“子系统”就可以被外部使用,这样的接口怎样定义?

问题四:如果抽象出基类或是抽象类
“把公共的代码抽取出来,减少代码的重复性”这样的抽象类才算合格,有没有实现“增、删、改、查”通用的方法???
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式