【发布时间】:2011-09-01 12:46:06
【问题描述】:
我正在创建一个抽象基类,它具有由其他类实现的功能。我的疑惑如下
1) 我是否需要在每个需要被子类覆盖的函数前面给出“虚拟”?我看到一些没有 virtual 关键字的示例,它们仍然可以被覆盖。
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。
标签: c# .net oop inheritance