Унаследовать класс "треугольник" от класса "точка" - C#

Узнай цену своей работы

Формулировка задачи:

Как нужно подправить следующий код, чтобы класс треугольник был унаследован от класса точка? То есть после изменений в конструктор класса треугольник будут передаваться не три объекта типа точка, а шесть координат точек треугольника.
using System;
 
namespace ConsoleApplication2
{
    class Point
    {
        public float x, y;
        public Point(float _x, float _y)
        {
            x = _x;
            y = _y;
        }
    }
    class Triangle
    {
        public Point a { set; get; }
        public Point b { set; get; }
        public Point c { set; get; }
 
        public Triangle(Point _a, Point _b, Point _c)   //конструктор
        {
            a = _a;
            b = _b;
            c = _c;
        }
        public void sd_right(float d)   //сдвиг вправо
        {
            a.x = +d; b.x = +d; c.x = +d;
        }
        public void sd_left(float d)    //сдвиг влево
        {
            a.x = -d; b.x = -d; c.x = -d;
        }
        public void sd_up(float d)  //сдвиг верх
        {
            a.y = +d; b.y = +d; c.y = +d;
        }
        public void sd_down(float d)    //сдвиг вниз
        {
            a.y = -d; b.y = -d; c.y = -d;
        }
        public float R(Point _a, Point _b)
        {
            return Convert.ToSingle(Math.Sqrt(Math.Pow(_a.x - _b.x, 2) + Math.Pow(_a.y - _b.y, 2)));
        }
        public void sd_alfa(float d)    //поворот на угол d
        {
            Point M = new Point((a.x + b.x + c.x) / 3, (a.y + b.y + c.y) / 3);
            a.x = M.x + Convert.ToSingle(R(M, a) * Math.Cos(d));
            a.y = M.y - Convert.ToSingle(R(M, a) * Math.Sin(d));
            b.x = M.x + Convert.ToSingle(R(M, b) * Math.Cos(d));
            b.y = M.y - Convert.ToSingle(R(M, b) * Math.Sin(d));
            c.x = M.x + Convert.ToSingle(R(M, c) * Math.Cos(d));
            c.y = M.y - Convert.ToSingle(R(M, c) * Math.Sin(d));
        }
        public void sd_rad(float r) //увелечение на r
        {
            float d = 0;
            Point M = new Point((a.x + b.x + c.x) / 3, (a.y + b.y + c.y) / 3);
            a.x = Convert.ToSingle((R(M, a) + r) * Math.Cos(d));
            a.y = -Convert.ToSingle((R(M, a) + r) * Math.Sin(d));
            b.x = Convert.ToSingle((R(M, b) + r) * Math.Cos(d));
            b.y = -Convert.ToSingle((R(M, b) + r) * Math.Sin(d));
            c.x = Convert.ToSingle((R(M, c) + r) * Math.Cos(d));
            c.y = -Convert.ToSingle((R(M, c) + r) * Math.Sin(d));
        }
 
        public void show()  //вывод координат
        {
            Console.WriteLine("a(x,y)={0},{1}\nb(x,y)={2},{3}\nc(x,y)={4},{5}", a.x, a.y, b.x, b.y, c.x, c.y);
           
        }
    };
 
    class Program
    {
        static void Main(string[] args)
        {
            Point a = new Point(1, 1);
            Point b = new Point(3, 3);
            Point c = new Point(3, 1);
            Triangle T = new Triangle(a, b, c);
            T.show();
            Console.ReadKey();
        }
    }
}

Решение задачи: «Унаследовать класс "треугольник" от класса "точка"»

textual
Листинг программы
public Triangle(int a1, int a2, int b1, int b2, int c1, int c2)   //конструктор
        {
            a = new Point(a1, a2);
            b = new Point(b1, b2);
            c = new Point(c1, c2);
        }
//...
Point a = new Point(1, 1);
Point b = new Point(3, 3);
Point c = new Point(3, 1);
Triangle T = new Triangle(a.X, a.Y, b.X, b.Y, c.X, c.Y);

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


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

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

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