我一直在为班级,初学者C#工作。我已经达到了一个我不知道接下来该做什么的地步。这是问题,它涉及参数/参数......
定义“area”属性计算的输出,以便用户可以通过设置参数/ parameternamed“radius”(在构造函数中)并随后调用名为“ShowArea”的方法来初始化“Circle”类的实例。使用以下公式显示新圆实例的区域:(其中r =半径,A =区域,π= pi)
这是我到目前为止所做的:
namespace IndividualAssignment2
{
public class Shape
{
public virtual int area { get; set; }
}
public class Circle : Shape
{
double radius;
public override int area { get; set; }
double ShowArea = 3.14 * Math.Pow(radius,2);
}
public sealed class Square : Shape
{
int height;
}
}
我如何将这个实现到我的代码中?我的双ShowArea不正确,因为半径加下划线。我认为理解这个问题会有助于解决这个问题。谢谢。
答案 0 :(得分:1)
如果我正确理解你,ShowArea是一个方法,而不是一个字段。这意味着你的Circle类应该是这样的:
public class Circle : Shape
{
double _radius;
// Constructor for the Circle that has radius as a parameter
public Circle(double radius)
{
_radius = radius;
}
// Method that returns the area of the circle using radius value from constructor
public double ShowArea()
{
return Math.Pi * Math.Pow(_radius, 2.0);
}
}
答案 1 :(得分:0)
必须审核您的课程设计。
public abstract class Shape
{
public abstract double Area { get; }
}
public class Circle : Shape
{
public Circle(double radius)
{
Radius = radius;
}
private double Radius { get; set; }
public override double Area => 3.14 * Math.Pow(Radius, 2);
}
public class Square : Shape
{
public Square(double edge)
{
Edge = edge;
}
private double Edge { get; set; }
public override double Area => Math.Pow(Edge, 2);
}
答案 2 :(得分:0)
您对方法ShowArea
的声明不正确。您正在声明field。
您应该在methods上阅读更多内容。您还负责声明constructor并使用参数来设置radius
,我在您的代码中找不到它。