interface Ishape
{
double GetArea();
}
public class Rectangle : Ishape
{
public double dblWidth;
public double dblHeight;
public Rectangle(double _dblWidth, double _dblHeight)
{
this.dblWidth = _dblWidth;
this.dblHeight = _dblHeight;
}
public double GetArea()
{
return this.dblHeight * this.dblWidth;
}
}
public class Triangle : Ishape
{
public double dblEdge1;
public double dblEdge2;
public double dblEdge3;
public Triangle(double _dblEdge1, double _dblEdge2, double _dblEdge3)
{
this.dblEdge1 = _dblEdge1;
this.dblEdge2 = _dblEdge2;
this.dblEdge3 = _dblEdge3;
}
public double GetArea()
{
double p = (this.dblEdge1 + this.dblEdge2 + this.dblEdge3) / 2.0;
double area = Math.Sqrt(p * (p - this.dblEdge1) * (p - this.dblEdge2) * (p - this.dblEdge3));
return area;
}
}
public class Circle : Ishape
{
public double dblRadius;
public Circle(double _dblRadius)
{
this.dblRadius = _dblRadius;
}
public double GetArea()
{
return 3.1415926 * this.dblRadius * this.dblRadius;
}
}
class Program
{
static void Main(string[] args)
{
Ishape s;
s = new Rectangle(1, 2);
Console.WriteLine("矩形面积为:{0}",s.GetArea());
s = new Triangle(3,4,5);
Console.WriteLine("三角形面积为:{0}",s.GetArea());
s = new Circle(1);
Console.WriteLine("圆形面积为:{0}", s.GetArea());
}
}