尝试输出函数结果
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());
}
我的问题:
我想显示没有 Console.WriteLine 的函数的结果,我应该在我的代码中更改什么?
这段代码是OOP吗?我想改进我的代码,但我不知道该怎么做。我应该使用这样的变量吗?
Console.WriteLine(sq.plus(a, b));
您正在编写功能代码,因此 OOP 不适合这里。您的 plus
和 minus
方法是确定性的,因此请将它们变成静态的、线程安全的函数。
您不应该将 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));
}
我正在制作迷你计算器。
我的代码:
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());
}
我的问题:
我想显示没有 Console.WriteLine 的函数的结果,我应该在我的代码中更改什么?
这段代码是OOP吗?我想改进我的代码,但我不知道该怎么做。我应该使用这样的变量吗?
Console.WriteLine(sq.plus(a, b));
您正在编写功能代码,因此 OOP 不适合这里。您的 plus
和 minus
方法是确定性的,因此请将它们变成静态的、线程安全的函数。
您不应该将 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));
}