为新对象实例

时间:2015-09-28 03:51:39

标签: c# oop

我在Visual Studio中使用C#学习OOP并且遇到了一些麻烦。我有一个" calc"使用以下构造函数和add方法的类:

public Calc(int x, int y)
{
    num1 = x;
    num2 = y;
}

public int Add()
{
    return num1 + num2;
}

我试图制作一个简单的Windows窗体应用程序,它从两个文本框中取两个数字。这两个数字将用于Add()方法以获得总和。我的问题是我尝试使用OOP样式进行编码,但我不知道如何将这两个数字放入对象实例声明中,具体如下代码所示:

Calc calc1 = new Calc();

2 个答案:

答案 0 :(得分:6)

我建议将班级设计更改为

    public Calc()
    {
    }

    public int Add(int num1, int num2)
    {
        return num1 + num2;
    }

    public int Subtract(int num1, int num2)
    {
        return num1 - num2;
    }

在实际情况中,您可以将 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);

答案 1 :(得分: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