Реализовать в программе класс фигура, потомки класса треугольник, круг и квадрат - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д