关键字
Type– 类型
Class - 类
Abstract - 抽象的
Interface - 接口
Member - 成员
Method - 方法
Property - 属性
预备知识在阅读本文时您应当了解NET编程的基本知识并且已经掌握Class Abstract Class 和 Interface全部知识这里我仅简单介绍一下他们的基本知识本文的例子由C#编写期望您对C#编程有一定的了解
正文
我们无法创建一个Abstract Class或Interface的实例(INSTANCE)让我们从Abstract Class和Interface的定义来看他们的不同Abstract Class可以包含Abstract Methods 和 Abstract Properties 也可以包含其他的Members象正常的Class一样而Interface只能包含Abstract Methods和Properties(属性)Interface中的所有Methods和Properties不需要加Abstract和Public关键字因为这两个关键字在Interface中是默认的举例如下
//Abstarct Class
public abstract class Vehicles
{
private int noOfWheel;
private string color;
public abstract string Engine
{
get;
set;
}
public abstract void Accelerator();
}
//Interface
public interface Vehicles
{
string Engine
{
get;
set;
}
void Accelerator();
}
通常来讲在设计时优先考虑使用Class或Abstract Class而不是InterfaceInterface的主要缺点是灵活性比较差一旦你定义好了Interface那么它的Members就固定了如果你要对已经发布的程序添加新的Method就会破坏你已经的实现该接口的Type(ClassStruct等)因为你必须在你已有的Type中实现新的方法否则你的程序将无法通过编译
例如类Car和Train实现了接口Vehicles 现在我们要给接口Vehicles再加一个方法Brake() 如果我们现在编译类Car和Train编译器将报错
public interface Vehicles
{
…
//新添加的方法
void Brake();
}
[] []