A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 伱涐的距离 中级黑马   /  2013-12-27 10:52  /  1265 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 伱涐的距离 于 2013-12-27 15:22 编辑

C#中接口和类的异同?

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

7 个回复

倒序浏览
接口和类都是类,不同的是,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,
继承接口的类必须实现接口中声明的方法或属性,即可主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。

评分

参与人数 1技术分 +2 收起 理由
陈福军 + 2

查看全部评分

回复 使用道具 举报
1. 不能直接实例化接口;
2. 接口不包含方法实现;
3. 接口可以多继承,类只能单继承;
4. 类定义可在不同的源文件之间进行拆分;
5. 接口,类和结构都可以从多个接口继承;
6.  接口类似于抽象类,继承接口的任何非抽象类型都必须实现接口的所有成员;
7.接口和类都可以包含事件,索引器,方法和属性。

评分

参与人数 1技术分 +3 收起 理由
陈福军 + 3

查看全部评分

回复 使用道具 举报
类中的方法如果不是抽象的必须写方法体,而接口中方法必须不写方法体,类中不加修饰符的元素默认是private,而接口中的是public

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
补充一下,接口可以多继承,即一个类可以继承多个接口,而类只能单继承,即一个类只能有一个父类
回复 使用道具 举报
类是用对某一事物或概念的抽象,用来定义对象;接口本质上也是类,但其本意是为了定义统一的接口,也就是定义标准,仅只给出签名,不包含具体的实现。
由此,使用接口定义标准,然后由类继承,根据其各自功能的需要,进行不同方法的具体实现。
至于语法、注意事项之类,楼上的朋友写的比较全。
回复 使用道具 举报
都是引用类型.
接口实质上是功能说明书,说明有什么属性和功能(属性和方法)
接口理论上是继承者的父类,因此它可以作为实现类的引用,来封装类的复杂实现。
用接口引用 指向 new 的实例,则该引用只呈现接口中约定的属性和方法(封装)
接口可以理解为是纯抽象的类。

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
一般类是用来描述事物,被子类继承,实例化对象。
接口则是定义规则,由类实现。当类实现一个接口,表明其遵守了该接口的规则,其他类在不知道其具体实现的情况下也可以通过接口来调用。这样就降低了类与类之间的耦合性,使编程更加灵活,减少后期改动时的工作量。

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马