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());}}
