看.net手册其中的接口都类似
public abstract interface IComparable
就是其都有public abstract修饰符
而且其中还有一个方法是
public abstract new System.Int32 CompareTo ( System.Object obj )
这个abstract new 是什么意思?
public abstract interface IComparable
就是其都有public abstract修饰符
而且其中还有一个方法是
public abstract new System.Int32 CompareTo ( System.Object obj )
这个abstract new 是什么意思?
new 是说原来有一个函数(方法、属性)现在用这个新的替换原来的。
这个意思我知道!
{
public abstract void Paint(Graphics g, Rectangle r);
}
public class Ellipse: Shape
{
public override void Paint(Graphics g, Rectangle r) {
g.DrawEllipse(r);
}
}
public class Box: Shape
{
public override void Paint(Graphics g, Rectangle r) {
g.DrawRect(r);
}
}
Shape 类定义了一个可以绘制自身的几何形状对象的抽象概念。Paint 方法是抽象的,这是因为没有有意义的默认实现。Ellipse 和 Box 类是具体的 Shape 实现。由于这些类是非抽象的,因此要求它们重写 Paint 方法并提供实际实现。
我就算是反编译了.NetFramework,看到的也是
public interface IComparable
{
// Methods
int CompareTo(object obj);
}
的定义。
在vs.net中的对象浏览器
这个根本是语法错误。
public abstract new System.Int32 CompareTo ( System.Object obj )
这个很正常哈,就是强令子类必须重新实现CompareTo方法,并开辟一条新的override slot。