public class Shape
{
private float S;
public float s
{
get
{
return S;
}
set
{
if(value>=0)
{
S=value;
}
}
}
public virtual void GetArea()
{
Console.WriteLine();
}
}
class Rectangle:Shape
{
float a,b;
public Rectangle(float a,float b)
{
this.a=a;
this.b=b;
}
public override void GetArea()
{
base.GetArea();
Console .WriteLine("矩形面积={0}",a*b);
}
}
class Circle:Shape
{
float r;
public Circle(float r)
{
this.r=r;
}
public override void GetArea()
{
base.GetArea();
Console .WriteLine ("圆形面积={0}",Math.PI*r*r);
}
}
class Program
{
static void Main(string[] args)
{
float a,b,r;
Console.WriteLine("请输入矩形的长和宽:");
a = float.Parse(Console.ReadLine());
b = float.Parse(Console.ReadLine());
Rectangle rectangle = new Rectangle(a, b);
rectangle.GetArea();
Console.WriteLine("请输入圆形的半径:");
r = float.Parse(Console.ReadLine());
Circle circle = new Circle(r);
circle.GetArea();
}
}
声明一个图形基类Shape,该类拥有用于存储Shape面积的属性S,以及用于计算面积的虚方法GetArea,由Shape类派生出Rectangle和Circle类,并在子类中重写GetArea方法分别
最新推荐文章于 2023-04-12 19:21:32 发布