尝试输出函数结果

trying to output result of function

我正在制作迷你计算器。

我的代码:

public class Calc
{
    public double a = 1;
    public double b = 1;
    public double plus()
    {
        return a+b;
    }
    public double minus()
    {
        return a-b;
    }
}

public void Main()
{
    Calc sq = new Calc();
    Console.WriteLine("\na+b:");
    Console.WriteLine(sq.plus());
    Console.WriteLine("\na-b:");
    Console.WriteLine(sq.minus());
}

我的问题:

  1. 我想显示没有 Console.WriteLine 的函数的结果,我应该在我的代码中更改什么?

  2. 这段代码是OOP吗?我想改进我的代码,但我不知道该怎么做。我应该使用这样的变量吗?

    Console.WriteLine(sq.plus(a, b));

您正在编写功能代码,因此 OOP 不适合这里。您的 plusminus 方法是确定性的,因此请将它们变成静态的、线程安全的函数。

您不应该将 WriteLine 调用放入 Calc class 中,因为这样您会混合关注点,而不是将它们分开,因为 class 会负责用于计算和显示计算结果。这使得测试更加困难,因此您的代码变得更难维护。所以我将其重写为:

public static class Calc
{
    public static double Plus(double a, double b)
    {
        return a+b;
    }

    public static double Minus(double a, double b)
    {
        return a-b;
    }
}

public void Main()
{
    Console.WriteLine("\na+b:");
    Console.WriteLine(Calc.Plus(1,1));
    Console.WriteLine("\na-b:");
    Console.WriteLine(Calc.Minus(1,1));
}