簡體   English   中英

在C#中設置參數/參數

[英]Setting the argument/parameter in C#

我一直在為初學者C#上課。 我碰到了一個我不知道下一步該怎么做的地步。 這是問題,涉及參數/參數...

定義“ area”屬性計算的輸出,以便用戶可以通過設置參數/參數名稱為“ 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不正確,因為半徑用下划線標出。 我認為理解該問題將有助於解決該問題。 謝謝。

如果我對您的理解正確,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);
    }
}

您的課堂設計必須經過審查。

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);
}

您對ShowArea方法的聲明不正確。 您正在聲明一個字段 您應該閱讀有關方法的更多信息。 您還被要求聲明一個帶有參數的構造函數來設置radius ,我在您的代碼中找不到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM