我在Visual Studio中使用C#学习OOP并且遇到了一些麻烦.我有一个"calc"类,带有以下构造函数和一个add方法:
public Calc(int x, int y)
{
num1 = x;
num2 = y;
}
public int Add()
{
return num1 + num2;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作一个简单的Windows窗体应用程序,它从两个文本框中获取两个数字.这两个数字将用于Add()方法以获得总和.我的问题是我正在尝试以OOP样式编码,但我不知道如何将这两个数字放入对象实例声明中,这意味着在下面的代码中:
Calc calc1 = new Calc();
Run Code Online (Sandbox Code Playgroud)
我建议你改变你的班级设计
public Calc()
{
}
public int Add(int num1, int num2)
{
return num1 + num2;
}
public int Subtract(int num1, int num2)
{
return num1 - num2;
}
Run Code Online (Sandbox Code Playgroud)
在实际情况中,您可以将Calc视为一个计算器类,也可以包含其他成员,例如运算符(+, - ,/,%).这样您就可以使用不同的计算方法,而无需每次都创建Calc实例.
从Form.cs文件中调用此方法:
int num1 = Convert.ToInt32(textBox1.Text);
int num2 = Convert.ToInt32(textBox2.Text);
int num3 = Convert.ToInt32(textBox3.Text);
int num4 = Convert.ToInt32(textBox4.Text);
Calc c = new Calc();
var addition = c.Add(num1, num2);
var subtraction = c.Subtract(num3, num4);
Run Code Online (Sandbox Code Playgroud)
int num1 = 0;
int num2 = 0;
num1 = int.TryParse(TextBox1.Text, out num1);
num2 = int.TryParse(TextBox2.Text, out num2);
Calc calc1 = new Calc(num1, num2);
int answer = calc1.Add();
MessageBox.Show(answer.ToString()); // will show 9
Run Code Online (Sandbox Code Playgroud)