1. interface Ishape
    2. {
    3. double GetArea();
    4. }
    5. public class Rectangle : Ishape
    6. {
    7. public double dblWidth;
    8. public double dblHeight;
    9. public Rectangle(double _dblWidth, double _dblHeight)
    10. {
    11. this.dblWidth = _dblWidth;
    12. this.dblHeight = _dblHeight;
    13. }
    14. public double GetArea()
    15. {
    16. return this.dblHeight * this.dblWidth;
    17. }
    18. }
    19. public class Triangle : Ishape
    20. {
    21. public double dblEdge1;
    22. public double dblEdge2;
    23. public double dblEdge3;
    24. public Triangle(double _dblEdge1, double _dblEdge2, double _dblEdge3)
    25. {
    26. this.dblEdge1 = _dblEdge1;
    27. this.dblEdge2 = _dblEdge2;
    28. this.dblEdge3 = _dblEdge3;
    29. }
    30. public double GetArea()
    31. {
    32. double p = (this.dblEdge1 + this.dblEdge2 + this.dblEdge3) / 2.0;
    33. double area = Math.Sqrt(p * (p - this.dblEdge1) * (p - this.dblEdge2) * (p - this.dblEdge3));
    34. return area;
    35. }
    36. }
    37. public class Circle : Ishape
    38. {
    39. public double dblRadius;
    40. public Circle(double _dblRadius)
    41. {
    42. this.dblRadius = _dblRadius;
    43. }
    44. public double GetArea()
    45. {
    46. return 3.1415926 * this.dblRadius * this.dblRadius;
    47. }
    48. }
    1. class Program
    2. {
    3. static void Main(string[] args)
    4. {
    5. Ishape s;
    6. s = new Rectangle(1, 2);
    7. Console.WriteLine("矩形面积为:{0}",s.GetArea());
    8. s = new Triangle(3,4,5);
    9. Console.WriteLine("三角形面积为:{0}",s.GetArea());
    10. s = new Circle(1);
    11. Console.WriteLine("圆形面积为:{0}", s.GetArea());
    12. }
    13. }