Как реализовать абстрактный класс? - C#
Формулировка задачи:
Реализовать иерархию классов: Фигура - Точка - Линия. Класс “Фигура” - абстрактный. В каждом производном классе присутствует - конструктор инициализации, методы ввода-вывода данных.
Вопрос 1: Как этот абстрактный класс реализовать? Я придумала только переопределить метод Run(). Что еще надо сделать? и как?
Вопрос 2: А я вообще правильно делаю?
namespace ConsoleApplication2 { public abstract class Figyra // Создаем абстрактный класс { public Figyra() { } public abstract double Run(); } public class Point { private double x; private double y; public Point() { x = 0; y = 0; } public Point(double x, double y) { this.x = x; this.y = y; } public double X { get { return x; } set { x = value; } } public double Y { get { return y; } set { y = value; } } } public class Line : Point { public Line(Point begin, Point end) { Begin = new Point(begin.X, begin.Y); End = new Point(end.X, end.Y); } public Point Begin { get; set; } public Point End { get; set; } public double Run() { return Math.Sqrt( Math.Pow((End.X - Begin.X),2) + Math.Pow((End.Y - Begin.Y),2)); } } class Programm { static void Main(string[] args) { Point t1 = new Point(1,2); Point t2 = new Point(3, 4); Line m = new Line(t1,t2); Console.WriteLine("Длина линии: {0:0.00}", + m.Run()); Console.ReadLine(); } } }
Решение задачи: «Как реализовать абстрактный класс?»
textual
Листинг программы
public class Point : Figyra ... // внутри класса Point public override double Run() { throw new Exception("Not use for Point"); } ... // внутри класса Line public override double Run() { return Math.Sqrt(Math.Pow((End.X - Begin.X), 2) + Math.Pow((End.Y - Begin.Y), 2)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д