Реализовать в программе класс фигура, потомки класса треугольник, круг и квадрат - 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);