我正在创建一个具有其他类实现的函数的抽象基类。我的疑惑如下C#继承问题
1)我需要在每个需要被子类覆盖的函数前给'虚拟'吗?我看到一些没有虚拟关键字的例子,仍然可以被覆盖。
2)我需要一个将在基类中实现的函数,我不希望它被子类覆盖。我添加了该功能的“固定”关键字。编译器开始抱怨“成员”不能被密封,因为它不是一个覆盖。我在这里做错了什么?
abstract public class ShapeBase
{
private ShapeDetails _shapedDetails;
public CampusCardBase(ShapeDetails shDetails)
{
_shapedDetails= shDetails;
}
public virtual void Draw();
public virtual float getWidth();
public virtual void Swap();
public virtual void Erase();
public sealed ShapeDetails getShapeDetails()
{
return _shapedDetails;
}
};
你错过了那些方法上的'abstract'关键字...如果你不想重写但是实现然后使用abstract。 – 2011-05-25 07:31:12