-6

下面的代码是我的面试问题,但我不知道如何完美

代码:

    public class Shape
    {
        public void Rectangle(int length, int height)
        { 
            Console.Write(length * height);
        }

        public void Circle(int radius)
        {
            Console.Write(3.14 * (radius * radius));
        }
    }

有任何想法吗?提前致谢

4

2 回答 2

4

怎么样?

public abstract class Shape
{
    public abstract int CalcArea();
}

public class Rectangle : Shape
{
    public int Height { get; set; }
    public int Width { get; set; }

    public override int CalcArea()
    {
        return Height * Width;
    }
}

public class Circle : Shape
{
    public float Radius { get; set; }

    public override int CalcArea()
    {
        return Math.PI * (Radius * Radius);
    }
}
于 2013-09-13T05:59:59.310 回答
0
  • 创建Shape一个接口或抽象类

  • 声明一个抽象getArea()方法Shape

  • MakeRectangleCircle的子类ShapeRectangle具有高度和宽度,Circle具有半径。

  • 实现getArea()inRectangleCircle(返回 h*w inRectangle和 π*r 2 in Circle

于 2013-09-13T05:51:17.360 回答