C#中的抽象类和接口

来源:互联网 发布:上海跳跃网络吧爆吧 编辑:程序博客网 时间:2024/05/21 06:15
一:接口定义
public interface IDisposable
{
   void Dispose();
}
1,声明接口在语法上和声明抽象类完全相同,但不允许提供接口中任何成员的执行方式。一般情况下,接口中只能包含方法、属性、索引器和事件的声明。
2,接口不能实例化,只能包含其成员的签名,即只包含未实现的方法声明。
3,接口不能有构造函数或字段。
4,接口定义不允许包含运算符重载。
5,接口定义中不允许声明成员上的修饰符。
6,接口成员总是公共的,不能声明为虚拟或静态。如果需要,就应由执行的类来声明,因此最好通过执行的类来声明访问修饰符。
class SomeClass : IDisposable
{
   public void Dispose()
   {
      //implementation of Dispose() method
   }
}
 
二:抽象类和接口的使用
1,抽象类用于部分实现一个类,再由用户按需求对其进行不同的扩展和完善;接口只是定义一个行为的规范或规定。
2,抽象类在组件的所有实现间提供通用的已实现功能;接口创建在大范围全异对象间使用的功能。
3,抽象类主要用于关系密切的对象;而接口适合为不相关的类提供通用功能。
4,抽象类主要用于设计大的功能单元;而接口用于设计小而简练的功能块。 
原创粉丝点击