在C#中设置参数/参数

时间:2018-03-14 02:04:16

标签: c# parameters arguments

我一直在为班级,初学者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不正确,因为半径加下划线。我认为理解这个问题会有助于解决这个问题。谢谢。

3 个答案:

答案 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,我在您的代码中找不到它。