Первый класс объектов

Добрый день.

В этой статье будет рассказано о том, как же лучше всего хранить различные переменные и доставать их, когда нам это надо.

Для этого нам понадобится создать объект класса к нашей уже существующей программе (эта). Открываем проект, открываем «Solution explorer», кликаем по названию нашего проекта правой клавишей мыши и выбираем «Add Item» (рис. 1), выбираем «Class.cs» и называем его «myCl» (рис. 2)

. Откроется окно класса. изменим некоторые его строчки так:
namespace myCulc_1
{
	public class myCl
	{
	}
}

Следующий шаг будет заключаться в том, чтобы перетащить нашу функцию в  класс. Вы наверно спросили, себя: А как же мы будем передавать параметры?. Отвечаю: Довольно просто и это я опишу чуть ниже, а сейчас отмечу то, что функция проверки значений пока останется в форме. Теперь добавим еще один класс и назовем его «EnterVal» и также присвоим ему свойство «public». В этом классе мы будем размещать наши переменные, которые будут вводиться нами. Давайте опишем их:

public class EnterVal
{
	private float N1 = 0;
	private float N2 = 0;
//
	public float _N1 { get { return N1; } set { N1 = value; } }
	public float _N2 { get { return N2; } set { N2 = value; } }
}

Теперь необходимо внести некоторые поправки в нашу форму, процедуру и функцию проверки. Также сделать ссылку на объект класса с входными параметрами:

public partial class Form1 : Form
{
	private EnterVal enVal;
	private myCl mC;
	public Form1()
	{
		InitializeComponent();
		enVal = new EnterVal();
		mC = new myCl(enVal);
	}
 
	private void Go()
	{
		if (!check())
		{
			return;
		}
		this.lblOut.Text = mC.myFunc().ToString();
	}
 
	private bool check()
	{
		try
		{
			enVal._N1 = Convert.ToSingle(this.txtN1.Text);
			enVal._N2 = Convert.ToSingle(this.txtN2.Text);
		}
		catch (System.Exception erAll)
		{
			MessageBox.Show("Параметры введены неверно");
			return false;
		}
		return true;
	}
}
 

Откроем класс «myCl» и подтвердим ссылку на полученный объект, добавим функцию расчета: 

public class myCl
{
	private EnterVal enVal;
	public myCl(EnterVal enVal)
	{
		this.enVal = enVal;
	}
	public float myFunc()
	{
		float sum = enVal._N1 + enVal._N2;
		return sum;
	}
}

Запустите построитель, а затем отладчик. Если никаких ошибок не оказалось, то вы все правильно сделали. Чтобы понять, как же достать входные параметры: кинем на форму один «Lable» и назавем его «lblParams». Организуем вывод всей информации в одной процедуре. Создадим новую процедуру и назавем ее «Fill», вставим код: 

private void Fill()
{
	this.lblOut.Text = mC.myFunc().ToString();
	this.lblParams.Text = "Были введены:" + enVal._N1 + " и " + enVal._N2;
	this.txtN1.Text = "";
	this.txtN2.Text = "";
}

Добавим «Fill» в процедуру «Go»:

private void Go()
{
	if (!check())
	{
		return;
	}
	Fill();
}

Ну вот и все, что я хотел высказать в этой сатье.

Доброго дня.