黑马程序员技术交流社区
标题:
C#中的接口和类有什么不同的呢
[打印本页]
作者:
lpz869
时间:
2014-5-26 00:54
标题:
C#中的接口和类有什么不同的呢
本帖最后由 lpz869 于 2014-5-26 22:40 编辑
C#中的接口和类有什么不同的呢,不明白,请详细解释
作者:
许庭洲
时间:
2014-5-26 06:41
不同点:
1. 不能直接实例化接口;
2. 接口不包含方法的实现;
3. 类定义可在不同的源文件之间进行拆分;
相同点:
1.接口,类和结构都可以从多个接口继承;
2.接口类似于抽象类:继承接口的任何非抽象类型都必须实现接口的所有成员;
3. 接口和类都可以包含事件,索引器,方法和属性。
作者:
袁晓俊
时间:
2014-5-26 09:55
恩恩,,,说得详细,,,,
作者:
lin'
时间:
2014-5-28 22:52
都是引用类型. 接口实质上是功能说明书,说明有什么属性和功能(属性和方法) 接口理论上是继承者的父类,因此它可以作为实现类的引用,来封装类的复杂实现。 用接口引用 指向 new 的实例,则该引用只呈现接口中约定的属性和方法(封装) 接口可以理解为是纯抽象的类。它与类的关系好比自动洗衣机的说明书 和自动洗衣机的关系。 说明书里描述了自动加水、自动洗衣、自动脱水等功能方法,也有环保、节能、省水等特(属性)。 但是你不能用这个说明书来洗衣服吧? 你得用这些功能的实现者--洗衣机来洗衣服。 虽然是全自动洗衣机,但是它使用就很简单,1 打开盖子,放入衣服; 2 按下“开始”开关 主人完全不用关心洗衣机的内部是如何的复杂(封装)。 体现在代码上就是: 1 约定全自动洗衣机的功能,定义一个接口说明书 public Iterface IWashMac{ void 放入衣服(); void 开始洗衣(); } public class Wasmac: IWashMac{ public void 放入衣服(){ //... } public void 开始洗衣(){ //... } }
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2