Объектно-ориентированное программирование на С#. Андрианова А.А - 60 стр.

UptoLike

60
2. Определение конструктора класса.
Для создания объекта класса Equation требуется задать его
коэффициенты. Поскольку количество коэффициентов может быть
переменным (от 1 до 3), конструктор можно сделать методом с
переменным числом параметров (определенным с ключевым словом
params). Если будет задано недопустимое количество коэффициентов,
сгенерируется соответствующее исключение:
// конструктор объекта-уравнения
public Equation(params double [] coef)
{
// в зависимости от количества параметров (длины массива)
// получаем различные виды уравнений
switch (coef.Length)
{
case 3:
// квадратное уравнение
a = coef[0];
b = coef[1];
c = coef[2];
break;
case 2:
// линейное уравнение
a = 0.0;
b = coef[0];
c = coef[1];
break;
case 1:
// тождество или неразрешимое уравнение
a = 0.0;
b = 0.0;
c = coef[0];
break;
default:
// генерация исключения при некорректном
// наборе коэффициентов
throw new Exception("Данный набор коэффициентов
не может определять квадратное уравнение");
}
}
3. Определение методов решения уравнения.
Для определения разрешимости уравнения сначала должен вызываться
метод Solve(). В его задачу входит определение порядка уравнения
(квадратное уравнение 2-ого порядка, линейное уравнение 1-ого
порядка, тождество или неразрешимое – уравнение 0-ого порядка).
     2. Определение конструктора класса.
        Для создания объекта класса Equation требуется задать его
        коэффициенты. Поскольку количество коэффициентов может быть
        переменным (от 1 до 3), конструктор можно сделать методом с
        переменным числом параметров (определенным с ключевым словом
        params). Если будет задано недопустимое количество коэффициентов,
        сгенерируется соответствующее исключение:

     // конструктор объекта-уравнения
     public Equation(params double [] coef)
     {
        // в зависимости от количества параметров (длины массива)
        // получаем различные виды уравнений
        switch (coef.Length)
        {
           case 3:
                // квадратное уравнение
                a = coef[0];
                b = coef[1];
                c = coef[2];
                break;
           case 2:
                // линейное уравнение
                a = 0.0;
                b = coef[0];
                c = coef[1];
                break;
           case 1:
                // тождество или неразрешимое уравнение
                a = 0.0;
                b = 0.0;
                c = coef[0];
                break;
           default:
                // генерация исключения при некорректном
                // наборе коэффициентов
                throw new Exception("Данный набор коэффициентов
                      не может определять квадратное уравнение");
        }
     }

     3. Определение методов решения уравнения.
        Для определения разрешимости уравнения сначала должен вызываться
        метод Solve(). В его задачу входит определение порядка уравнения
        (квадратное – уравнение 2-ого порядка, линейное – уравнение 1-ого
        порядка, тождество или неразрешимое – уравнение 0-ого порядка).


60