Создать класс Line (линия). На его основе создать классы ColoredLine и Treug (треугольник) - C#
Формулировка задачи:
Помогите, вообще не знаю как это сделать
Создать класс Line (линия). На его основе создать классы ColoredLine и Treug (треугольник). В классах описать следующие элементы:
конструкторы с параметрами;
свойства для установки и получения значений всех координат, а также для изменения цвета и получения текущего цвета;
для линий — методы расчета длины отрезка
для треугольника — метод расчета периметра;
метод Show.
Решение задачи: «Создать класс Line (линия). На его основе создать классы ColoredLine и Treug (треугольник)»
textual
Листинг программы
namespace TestLine
{
abstract class Line
{
public double X1 { get ; set ; }
public double Y1 { get ; set ; }
public double X2 { get ; set ;}
public double Y2 { get ;set ; }
public Line(double x1, double y1, double x2, double y2)
{
X1 = x1;
Y1 = y1;
X2 = x2;
Y2 = y2;
}
// public abstract double GetPerimetr() ;
// public abstract double GetLine();
}
class ColorLine : Line
{
public string color;
public ColorLine(double x1, double y1, double x2,double y2,string _color) : base(x1,y1,x2,y2)
{
color = _color;
}
public double GetLine()
{
return Math.Sqrt((X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1));
}
}
class Treug : Line
{
public double X3 { get; set; }
public double Y3 { get ; set; }
public Treug(double x1, double y1, double x2, double y2,double x3, double y3):base(x1,y1,x2,y2)
{
X3 = x3;
Y3 = y3;
}
public double GetPerimetr()
{
return Math.Sqrt((X2 - X1)*(X2 - X1)+(Y2 - Y1)*(Y2 - Y1)) + Math.Sqrt((X3-X2)*(X3-X2)+(Y3-Y2)*(Y3-Y2)) + Math.Sqrt((X3-X1)*(X3-X1)+(Y3-Y1)*(Y3-Y1));
}
}
class Program
{
static void Main(string[] args)
{
ColorLine l = new ColorLine(3 , 4, 7,9,"red");
Treug t = new Treug(3,4,7,9, 9, 11);
Console.WriteLine(t.GetPerimetr());
Console.WriteLine(l.GetLine()+ " "+ l.color);
Console.ReadLine();
}
}
}