什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别

什么是接口?

  接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为

  接口是这样定义的: 接口,里面包含方法,但是没有方法的具体实现。

  然后在继承该接口的类中 去实现接口中的所有方法。包括 属性、方法、事件、索引器,但是不能包括字段;

  接口中只能包含 属性、方法、事件、索引器;

  接口可以实现C# 中的多继承。(c#不可以多继承,用接口可以实现) 接口可以继承接口,可以继承多个接口;

  类可以继承接口,但是继承的类必须去实现接口中的方法代码。

  接口不能直接被实例化

  接口一般不用什么修饰符,因为接口默认的修饰符是 public 公共的。

  接口中的所有成员默认为public,因此接口中不能有private修饰符

接口的好处:

  对类的一种约束。
  如果一个项目的需求可能在不断变化的情况下,用接口可以很容易进行拓展,并不影响以前写的功能模块的代码,只要新添加类,继承这个接口就可以了。

  如果每个类都要用到一些公用的属性字段或者方法,则通过继承接口可以方便的实现,不用再每个类中都写一次公用的属性或方法。

 接口中不能包含【常量、字段(域)、构造函数、析构函数、静态成员】

抽象类(abstract)和接口(interface)的区别:

  abstract 类 和接口类似,

  抽象类中定义方法,只有方法名,但不包含主体,不包含实现,和接口一样,

  可以把抽象方法当作没有具体实现的虚方法。

  抽象类不能被实例化。这个接口一样,

  抽象类中并非一定有抽象方法,但是 有抽象方法的类, 一定是抽象类。

  派生类必须覆盖基类的抽象方法,(也就是子类去实现继承类中的方法)

  抽象类中可以包含:属性、普通方法、可以包含虚方法、抽象方法

posted @ 2012-10-16 14:22  算盘  阅读(2264)  评论(0编辑  收藏  举报