0

私はこれが簡単であることを知っていますが、私はそれを理解することはできません. 私はクラスを作成しています。私の機能が問題を引き起こしています。O'Reilly の C# 3.0 を参考にしています。

クラスを作成しました:

class Runner
{
    public double miles = 0;

    public double RunMiles
    {
        get { return miles; }
        set
        {
            if ((value > 2)&&(value <7))
            {
                this.miles = value;
            } 
        }
    }

    public void StartRun ()
    {      
        // here, I want to enable the runner to start running, Make him start running//if that makes any sense.
    }

    public void VerifyMiles ()
    {
        // enter code here//I want to verify the miles are set.
    }
}
4

1 に答える 1

0

OPのコメントについては、いくつかの基本的なものがあります。

Runner r = new Runner(); //you created an instance of type Runner in memory now
int i = r.RunMile; //i is now 0 since variable miles is 0 initially, so RunMiles is also 0

r.RunMiles = 34;
i = r.RunMile; //i is still 0 since variable miles is not affected 'cos of your "if ((value > 2)&&(value <7))" in setter logic

r.RunMiles = 3;
i = r.RunMile; //i is 3 now

実行を開始するには、次のようにする必要があります。

r.StartRun();

マイルを確認するには、

r.VerifyMiles();


public void StartRun ()
{     
    miles++; //your logic here
}

public void VerifyMiles ()
{
    if (miles > 26.22)
       //print successfully completed one round of marathon
    else
       //he died in the meanwhile :(..
}

これは、基本的にOOPで何かを行う方法です

于 2012-05-03T23:55:23.870 に答える