ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »