设置新对象实例的参数

gra*_*mer 1 c# oop

我在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)

Nik*_*tak 6

我建议你改变你的班级设计

    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)


the*_*god 5

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)