社区
C#
帖子详情
C#中引入了“接口”的概念,有高手指点一下吗?
lxhvc
2004-04-04 11:06:44
自己看书很困惑,不大好理解,书上拿接口和C++中的虚基类类比?
实在是不好理解。
...全文
122
12
打赏
收藏
C#中引入了“接口”的概念,有高手指点一下吗?
自己看书很困惑,不大好理解,书上拿接口和C++中的虚基类类比? 实在是不好理解。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Edifier0709
2004-04-05
打赏
举报
回复
接口描述了组件对外提供的服务。在组件和组件之间、组件和客户之间都是通过接口进行交互。因此组件一旦发布,它只能通过预先定义的接口来提供合理的、一致的服务。就好比组装电脑时各个硬件的接口一样,硬件与硬件进行交互都是通过接口一完成的,而且这种接口是稳定的。
一个组件可以实现多个接口,而一个特定的组件接口可以被多个组件来实现。接口和实现是分离的。组件接口不依赖于具体的实现。将接口和实现分开增强了信息的封装程度。同时这要求组件接口必须使用一种与组件实现无关的规范语言。
turnmissile
2004-04-05
打赏
举报
回复
简单的理解:
借口就是说明一个类can do, 能做什么
而继承是说明一个类is a,是什么
用这种概念来区分你他们
qiume
2004-04-05
打赏
举报
回复
// 道理,楼上的兄弟都说了,我来个实例:
public interface intf1
{
void ShowMessage(string str);
}
public class Class1: intf1
{
public void ShowMessage(string str)
{
MessageBox.Show(this.ToString() + ":" + str);
}
}
public class Class2: intf1
{
public void ShowMessage(string str)
{
MessageBox.Show(this.ToString() + ":" + str);
}
}
// 使用:
private void button1_Click(object sender, System.EventArgs e)
{
intf1 cls = new Class1();
cls.ShowMessage("显示消息");
cls = new Class2();
cls.ShowMessage("显示消息");
}
mastercy
2004-04-05
打赏
举报
回复
哦,应该是虚类,必须要继承的
mastercy
2004-04-05
打赏
举报
回复
接口就是C++中的类
formatkm
2004-04-05
打赏
举报
回复
我对于接口的理解是:接口是面向对象编程理论里面的东西,正如前面所说接口就是一个协议,只要类实现了接口就说明了他支持这个协议,它的好处是在以后如果你要向程序加入新的东西,那么你原来是通过接口来调用这些方法,程序的修改就不需要修改以前的内容。接口最好的应用就是提供插件的程序,主程序调用插件就是通过事先定义好的接口调用的。
lxhvc
2004-04-05
打赏
举报
回复
感谢各位赐教!!
风轻扬
2004-04-05
打赏
举报
回复
接口只是方法、属性、事件的描述,只声明不实现,类继承接口就要实现该接口的所有成员,接口支持多继承而类不支持,接口有一点就是可以使不同的类具有相同的特征表现,举例来说,在.NET Framework中,所有实现ISerializable接口的类都可以进行串行化用于网络传输,因为继承ISerializable接口的类都实现了该接口中的方法GetObjectData
huangsuipeng
2004-04-04
打赏
举报
回复
顶一下楼上的:)
shangerhe
2004-04-04
打赏
举报
回复
从面向对象的观点来看,接口就是对象的外观,而对象实际的工作方式就是实现。和类一样,接口也可以定义属性、方法和事件。与类不同的是,接口并不提供实现。现在的接口,是由类来实现的,并从类中被定义为单独的实体。我们可以这样来理解,接口表示的是一种约定。实现接口的类必须严格按其定义来实现接口的每个方面。有了接口,就可以将功能定义为一些紧密相关成员的小组。可以在不危害现有代码的情况下,开发接口的增强型实现,从而使兼容性问题最小化。也可以在任何时候通过开发附加接口和实现来添加新的功能。虽然接口实现可以进化,但接口本身一旦被发布就不能再更改。对已发布的接口进行更改会破坏现有的代码。若把接口视为约定,很明显约定双方都各有其承担的义务。接口的发布者同意不再更改该接口,接口的实现者则同意严格按设计来实现接口。接口的实现可以是类,也可以是结构。接口的定义用的是Interface关键字。通过接口,我们可以定义下某种对象的基本外观,然后可以自由地进行实现与扩展,却不涉及对原型的直接修改。
shanhe
2004-04-04
打赏
举报
回复
一个契约,表示实现某个接口的对象肯定需要实现特定的接口方法
HNU
2004-04-04
打赏
举报
回复
see
http://expert.csdn.net/Expert/topic/2823/2823488.xml?temp=.8250849
C++调用gSoap编写的WEBSERVICE与
C#
.NET间
接口
自定义结构体不能重复使用
最近项目开发从C/S架构转成B/S架构后,开始使用webservice技术,由于我们的webservice是由vc++实现的,因此用到了gSoap库实现webservice,而上端业务我们采用了
C#
编写.NET业务逻辑,就牵涉到了很多
C#
与VC间对接的...
编程资料 -
C#
多线程
编程资料 - 多线程
C#
多线程编程实例实战作者: 刘弹 www.ASPCool.com 时间:2003-5-17 上午 10:24:05 阅读次数:10996单个写入程序/多个阅读程序在.Net 类库
中
其实已经提供了实现,即System.Threading....
java多态怎么学_Java多态的学习
让我自己说的话,我只能用三句话来描述(不知道对不对,请
高手
指点
):* 继承:使得子类继承父类的属性和方法,也可以使用父类的功能。* 封装:将具体实现隐藏,只留给用户使用的
接口
。* 多态:相似类型在使用同一基类...
Java多态的学习
首先,我要说明的是,继承、封装、多态并不是针对JAVA,
c#
或者其他某种语言产生的,它是面向对象思想下产生的一个
概念
。 让我自己说的话,我只能用三句话来描述(不知道对不对,请
高手
指点
): * 继承:使得子类...
WebService和.net Remoting二者哪一个好一些
请问各位
高手
:WebService和.net Remoting二者哪一个好一些(谢绝灌水)? 二者各有何优缺点?哪一个效率高一些?哪一个安全性好一些?欢迎各位
高手
指点
!多谢!
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章