抽象的类里面可以包括部分具体实现,而接口则不行。public abstract class AClass { private int x; private int y; public int X { get { return x; } } public int Y { get { return y; } } public float Sum() { return X + Y; } public abstract float Average(); }public class BClass : AClass { public override float Average() { return Sum() / 2; } }如上面的例子,在抽象类中,实际包括了:几处具体的实现,二个属性,一个求和方法。 同时对于接口来说,根本就无法定义字段成员,也就是private int x,private int y;它是无法定义的。
对于接口实现同样的功能,你只能做到:public interface A { public int X{get;} public int Y{get;} public float Sum(); }你无法提供Sum的任何功能,但反过来说。
http://blog.csdn.net/zhoufoxcn/archive/2007/04/06/1554041.aspx
{
private int x;
private int y;
public int X { get { return x; } }
public int Y { get { return y; } } public float Sum() { return X + Y; } public abstract float Average();
}public class BClass : AClass
{
public override float Average()
{
return Sum() / 2;
}
}如上面的例子,在抽象类中,实际包括了:几处具体的实现,二个属性,一个求和方法。
同时对于接口来说,根本就无法定义字段成员,也就是private int x,private int y;它是无法定义的。
{
public int X{get;}
public int Y{get;}
public float Sum();
}你无法提供Sum的任何功能,但反过来说。