下面的代码是我的面试问题,但我不知道如何做到完美
代码:
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));
}
}
有什么想法吗?提前致谢
答案 0 :(得分: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);
}
}
答案 1 :(得分:0)
使Shape
成为接口或抽象类
在getArea()
Shape
制作Rectangle
的{{1}}和Circle
子类,Shape
,Rectangle
具有高度和宽度,Circle
具有半径。
在getArea()
和Rectangle
中实施Circle
(在Rectangle
中返回h * w,在{{中返回π* r 2 1}})