ВУЗ:
Составители:
Рубрика:
99
// переопределенный виртуальный метод печати
// результата решения уравнения
override public void PrintSolution()
{
Console.WriteLine("{0} = 0", c);
if (count == -1)
{
// вызов базовой реализации метода
base.PrintSolution();
return;
}
if (count==0)
Console.WriteLine("Корней нет");
else
Console.WriteLine("Любое x является решением");
}
}
В класс Equation_0 также вводятся элементы, необходимые для
задания уравнения нулевого порядка: коэффициент c, конструктор класса.
Аналогичным образом определяются классы и для других типов уравнений.
В нашем случае это классы Equation_1, Equation_2.
Для решения конкретных типов уравнений в базовом классе создадим
специальный метод CreateEquation(), который производит анализ типа
уравнения по его коэффициентам и создает объект-уравнение нужного типа.
Поскольку при создании уравнений нет необходимости создавать объект
базового класса, этот метод определим как статический. Тип возвращаемого
значения метода CreateEquation – ссылка на базовый класс, которая
может хранить адрес объекта любого дочернего класса.
// метод базового класса, предназначенный для создания
// объектов-уравнений в зависимости от набора коэффициентов
public static Equation CreateEquation
(params double[] coef)
{
double a, b, c;
// инициализируем коэффициенты уравнения
// в зависимости от длины массива коэффициентов
switch (coef.Length)
{
case 3:
a = coef[0];
b = coef[1];
c = coef[2];
break;
case 2:
a = 0.0;
b = coef[0];
// переопределенный виртуальный метод печати
// результата решения уравнения
override public void PrintSolution()
{
Console.WriteLine("{0} = 0", c);
if (count == -1)
{
// вызов базовой реализации метода
base.PrintSolution();
return;
}
if (count==0)
Console.WriteLine("Корней нет");
else
Console.WriteLine("Любое x является решением");
}
}
В класс Equation_0 также вводятся элементы, необходимые для
задания уравнения нулевого порядка: коэффициент c, конструктор класса.
Аналогичным образом определяются классы и для других типов уравнений.
В нашем случае это классы Equation_1, Equation_2.
Для решения конкретных типов уравнений в базовом классе создадим
специальный метод CreateEquation(), который производит анализ типа
уравнения по его коэффициентам и создает объект-уравнение нужного типа.
Поскольку при создании уравнений нет необходимости создавать объект
базового класса, этот метод определим как статический. Тип возвращаемого
значения метода CreateEquation – ссылка на базовый класс, которая
может хранить адрес объекта любого дочернего класса.
// метод базового класса, предназначенный для создания
// объектов-уравнений в зависимости от набора коэффициентов
public static Equation CreateEquation
(params double[] coef)
{
double a, b, c;
// инициализируем коэффициенты уравнения
// в зависимости от длины массива коэффициентов
switch (coef.Length)
{
case 3:
a = coef[0];
b = coef[1];
c = coef[2];
break;
case 2:
a = 0.0;
b = coef[0];
99
Страницы
- « первая
- ‹ предыдущая
- …
- 97
- 98
- 99
- 100
- 101
- …
- следующая ›
- последняя »
