Разработать абстрактный класс Геометрическая Фигура - C#
Формулировка задачи:
Разработать абстрактный класс ГеометрическаяФигура со свойствами ПлощадьФигуры и ПериметрФигуры. Разработать классы-наследники: Треугольник, Квадрат, Ромб, Прямоугольник, Параллелограмм, Трапеция, Круг, Эллипс и реализовать конструкторы, которые однозначно определяют объекты данных классов.
я тут немного запутался как теперь из других классов передавать значение в абстрактный или я тут уже все напутал и луче сначала начать делать ?
interface ITsimple_Elbow
{
int Height //Высота
{
get;
set;
}
int Base // Основание
{
get;
set;
}
int Angle_between //Угол Между Основанием Смежной Стороной
{
get;
set;
}
int Number_Parties // Количество Сторон
{
get;
set;
}
int Lengths_Parties //Длины Сторон
{
get;
set;
}
void Show();
}
interface IDdata
{
double Area //Площадь
{
get;
}
double Perimeter // Периметр
{
get;
}
void Show();
}
abstract class Figure :IDdata
{
double a;
double b;
public Figure() {
a = -1;
b = -1;
}
public Figure(double a, double b)
{
this.a = a;
this.b = b;
}
public double Area
{
get { return a; }
}
public double Perimeter
{
get {return b;}
}
public virtual void Show ()
{
Console.WriteLine("Площа:{0}", a);
Console.WriteLine("Периметр:{0}", b);
}
}
class triangle : Figure , IDdata
{
double a;
double b;
double c;
public triangle() { }
public triangle(double a, double b , double c)
{
this.a = a;
this.b = b;
this.c = c;
}
public double Area
{
get{
double p = (a + b + c) / 2;
return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
}
}
public double Perimeter
{
get
{
return (a + b + c);
}
}
public override void Show()
{
base.Show();
Console.WriteLine("Сторона A:{0}", a);
Console.WriteLine("Сторона B:{0}", b);
Console.WriteLine("Сторона С:{)}", c);
}
}
class Pramougolnik : Figure,IDdata
{
double a;
double b;
public Pramougolnik(double a, double b)
{
this.a = a;
this.b = b;
}
public double Area
{
get
{
return a * b;
}
}
public double Perimeter
{
get
{
return (a + b) * 2;
}
}
public override void Show()
{
base.Show();
Console.WriteLine("Сторона А:{0}", a);
Console.WriteLine("Сторона B:{0}", b);
}
}
class kvadrat:Figure,IDdata
{
double a;
public kvadrat(double a)
{
this.a = a;
}
public double Area
{
get
{
return a * a;
}
}
public double Perimeter
{
get
{
return a + a + a + a;
}
}
public override void Show()
{
base.Show();
Console.WriteLine("Сторона А:{0}", a);
}
}
class Romb : Figure, IDdata
{
double a;
double b;
double c;
public Romb(double b, double c, double a)
{
this.b = b;
this.c = c;
this.a = a;
}
public double Area
{
get
{
return b * c / 2;
}
}
public double Perimeter
{
get
{
return 4 * a;
}
}
}
class Trapezia : Figure, IDdata
{
double a;
double b;
double c;
double d;
double h;
public Trapezia(double b, double c, double a, double d, double h)
{
this.b = b;
this.c = c;
this.a = a;
this.d = d;
this.h = h;
}
public double Area
{
get
{
return ((a + b) / 2) * h;
}
}
public double Perimeter
{
get
{
return a + b + c + d;
}
}
}Решение задачи: «Разработать абстрактный класс Геометрическая Фигура»
textual
Листинг программы
public class Square : Parallelogram
{
public double Side { get; set; }
public override double Height
{
get { return Side; }
set { Side = value; }
}
public override double Base
{
get { return Side; }
set { Side = value; }
}
public override double Angle
{
get { return 0.5*Math.PI; }
}
}
}