我正在制作迷你计算器。
我的代码:
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));
答案 0 :(得分:1)
您正在编写功能代码,因此OOP不适合这里。您的plus
和minus
方法是确定性的,因此将它们转换为静态的线程安全函数。
你不应该将WriteLine
类调用到Calc
类中,然后混合关注点,而不是将它们分开,因为类会负责计算和显示计算结果。这使得测试更加困难,因此您的代码变得难以维护。所以我把它重写为:
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));
}