ВУЗ:
Составители:
Рубрика:
61
{
Console.WriteLine("Введите данные, определяющие функцию");
}
// абстрактный метод вывода функции на печать
public abstract string Output();
}
Классы, задающие кривые различных типов, имеют одинаковую
структуру. Для примера приведем определение методов класса Ellipse:
// класс, задающий эллиптическую функцию
class Ellipse : Function
{
// параметры, задающие эллиптическую функцию
double a, b;
double x0, y0;
// конструктор эллиптической функции
public Ellipse(double a1= 1, double b1= 1,
double x= 0, double y = 0)
{
// если параметр a или b равен нулю, эллиптическую
// функцию определить невозможно.
// Поэтому генерируется исключение
if (a1 == 0 || b1 == 0)
throw new Exception("Функция не может быть
определена такими параметрами");
a = a1;
b = b1;
x0 = x;
y0 = y;
}
// переопределение виртуального метода
// вычисления значения функции
public override double Сalculate(double x, double y)
{
return (x - x0) * (x - x0) / (a * a) +
(y - y0) * (y - y0) / (b * b);
}
// переопределение виртуального метода ввода
// параметров функции
public override void Input()
{
// вызов базовой версии метода
base.Input();
// ввод параметром эллиптической функции
a = double.Parse(Console.ReadLine());
b = double.Parse(Console.ReadLine());
x0 = double.Parse(Console.ReadLine());
{
Console.WriteLine("Введите данные, определяющие функцию");
}
// абстрактный метод вывода функции на печать
public abstract string Output();
}
Классы, задающие кривые различных типов, имеют одинаковую
структуру. Для примера приведем определение методов класса Ellipse:
// класс, задающий эллиптическую функцию
class Ellipse : Function
{
// параметры, задающие эллиптическую функцию
double a, b;
double x0, y0;
// конструктор эллиптической функции
public Ellipse(double a1= 1, double b1= 1,
double x= 0, double y = 0)
{
// если параметр a или b равен нулю, эллиптическую
// функцию определить невозможно.
// Поэтому генерируется исключение
if (a1 == 0 || b1 == 0)
throw new Exception("Функция не может быть
определена такими параметрами");
a = a1;
b = b1;
x0 = x;
y0 = y;
}
// переопределение виртуального метода
// вычисления значения функции
public override double Сalculate(double x, double y)
{
return (x - x0) * (x - x0) / (a * a) +
(y - y0) * (y - y0) / (b * b);
}
// переопределение виртуального метода ввода
// параметров функции
public override void Input()
{
// вызов базовой версии метода
base.Input();
// ввод параметром эллиптической функции
a = double.Parse(Console.ReadLine());
b = double.Parse(Console.ReadLine());
x0 = double.Parse(Console.ReadLine());
61
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »
