我的课程Ellipse
应该从我的课程Shape
继承,但是出现以下错误消息:
错误1'ConsoleApplication3.Ellipse'未实现继承的抽象成员'ConsoleApplication3.Shape.Perimeter.get'
我还收到错误消息,提示我隐藏了Area
,这是Ellipse
中的一个属性。
谁能帮我吗?
我的形状类如下所示:
public abstract class Shape
{
//Protected constructor
protected Shape(double length, double width)
{
_length = length;
_width = width;
}
private double _length;
private double _width;
public abstract double Area
{
get;
}
我的椭圆课是:
class Ellipse : Shape
{
//Constructor
public Ellipse(double length, double width)
:base(length, width)
{
}
//Egenskaper
public override double Area
{
get
{
return Math.PI * Length * Width;
}
}
}
最佳答案
您需要在Ellipse类的Area和Perimeter属性中使用override
修饰符,例如
public override double Area { get; }
public override double Perimeter { get; }
在Visual Studio中为您提供的提示,将光标置于文本“ Shape”(在椭圆类中)内,然后按Ctrl +.。这应该为尚未实现的成员添加存根
关于c# - 覆盖属性不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8639579/