Реализовать в программе класс фигура, потомки класса треугольник, круг и квадрат - C#

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

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

Доброго времени суток. Есть задача: реализовать в программе класс фигура, потомки класса треугольник, круг и квадрат, и собственно родительский класс используется для последовательной отрисовки треугольника, круга и квадрата. Я написал все но вот с отрисовкой никак. Подскажите кто знает.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Drawing;
 
namespace System.Drawing
{

    class Figure
    {
        public static void Main() { }
        public virtual void Draw(Graphics g) { }
        //private void Form1_Paint(object sender, PaintEventArgs e) { }
 
    }
 
    class Circle : Figure
    {
        int r;
        Point o;
        public Circle(Point O, int R)
        {
            r = R;
            o = O;
        }
        public override void Draw(Graphics g)
        //private void Form1_Paint( object sender, PaintEventArgs e )
        {
            Rectangle rect = new Rectangle();
            rect.X = o.X - r;
            rect.Y = o.Y - r;
            rect.Width = r << 1;
            rect.Height = r << 1;
            g.DrawEllipse(new Pen(Color.Red, 2F), rect);
        }
    }
    class Triangle : Figure
    {
        Point[] points;
        public Triangle(Point[] p)
        {
            if (p.Length != 3)
                throw new Exception("Длина массива должна быть равна трем.");
            points = p;
        }
 
        public override void Draw(Graphics g)
        //private void Form1_Paint(object sender, PaintEventArgs e)
        {
            g.DrawPolygon(new Pen(Color.Red, 2F), points);
        }
    }
    class Square : Figure
    {
        Rectangle rect;
        public Square(Rectangle r)
        {
            rect = r;
        }
        public override void Draw(Graphics g)
        //private void Form1_Paint(object sender, PaintEventArgs e) 
        {
            g.DrawRectangle(new Pen(Color.Red, 2F), rect);
        }
    }
}

Решение задачи: «Реализовать в программе класс фигура, потомки класса треугольник, круг и квадрат»

textual
Листинг программы
Figure f1 = new Circle(Point.Empty, 10); 
  Figure f2 = new Triangle(new[] { Point.Empty, new Point(100, 100), new Point(100, 20) });
   Figure f3 = new Square(new Rectangle(0, 0, 100, 100)); 
  f1.Draw(e.Graphics);
   f2.Draw(e.Graphics); 
  f3.Draw(e.Graphics);

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


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

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

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