Разработать абстрактный класс Геометрическая Фигура - 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; }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы