我正在創建一個具有其他類實現的函數的抽象基類。我的疑惑如下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