Запутался со свойствами и передачей параметров полям - C#
Формулировка задачи:
Объявить класс, содержащий поле целого типа две константы, задающие допустимый диапазон значения этого поля и свойства для работы с этими полями. Конструктор с двумя аргументами присваивает полю значение суммы аргументов, если сумма не выходит за пределы диапазона, в противном случае, значение суммы ограничивается в соответствии с допустимым верхним или нижним значением. Создать объект этого класса. Аргументы для конструктора вводятся с клавиатуры. Распечатать поля объекта.
{
class Knstrktr
{
private const int d=15;
private const int f=5;
private int c;
public Knstrktr()
{
}
public Knstrktr(int d, int f)
{
c = d + f;
}
public int Check
{
get
{
if (c > a)
c = a;
if (c < b)
c = b;
return c;
}
set
{
c = value;
}
}
}
class Program
{
static void Main(string[] args)
{
int a,b;
Knstrktr obj = new Knstrktr();
Console.WriteLine("Введите значение 1:");
a = Convert.ToInt32(Console.Read());
Console.WriteLine("Введите значение 2:");
b = Convert.ToInt32(Console.Read());
Console.WriteLine("Результат:");
Console.ReadKey();
}
}
}Решение задачи: «Запутался со свойствами и передачей параметров полям»
textual
Листинг программы
public class Program
{
private static void Main(string[] args)
{
Int32 a, b;
do
{
Console.WriteLine("Input a = ");
} while (!Int32.TryParse(Console.ReadLine(), out a));
do
{
Console.WriteLine("Input b = ");
} while (!Int32.TryParse(Console.ReadLine(), out b));
var temp = new TestClass(a, b);
Console.WriteLine(temp.ToString());
Console.WriteLine("+++++++++++++ Test get properties +++++++++++++");
Console.WriteLine("Summ = {0}, Max = {1}, Min = {2}", temp.Summ, temp.GetMax, temp.GetMin);
Console.ReadLine();
}
}
public class TestClass
{
private const Int32 Max = 15;
private const Int32 Min = 5;
private readonly Int32 _summ;
/// <summary>
///[readonly] Получает значение суммы
/// </summary>
public Int32 Summ
{
get { return _summ; }
}
/// <summary>
///[readonly] Верхняя граница
/// </summary>
public Int32 GetMax
{
get { return Max; }
}
/// <summary>
///[readonly] Нижняя граница
/// </summary>
public Int32 GetMin
{
get { return Min; }
}
/// <summary>
/// Конструктор
/// </summary>
/// <param name="a">Первое число</param>
/// <param name="b">Второе число</param>
public TestClass(Int32 a, Int32 b)
{
var temp = a + b;
if (temp < Max && temp > Min)
_summ = temp;
else
_summ = Max;
}
public override String ToString()
{
return "Max = " + Max + " Min = " + Min + " Summ = " + _summ + ";";
}
}