首先定义两个类如下:
// 正方形类
public class Square
{
// 正方形的边长
public float Lenght { get; set; }
protected float AreaCompute()
{
return Lenght* Lenght;
}
// 计算正方形的面积
public virtual float Area()
{
return AreaCompute();
}
// 计算正方形的周长
public virtual float Circumference()
{
return Lenght * 4;
}
}
// 正方体类
public class Cube:Square
{
// 正方体的高
public float Height{get;set;}
// 表面积
public override float Area()
{
return AreaCompute() * 6;
}
// 体积
public override float Circumference()
{
return AreaCompute() * Height;
}
}
调用测试:
Square square = new Square()
{
Lenght=5f
};
Console.WriteLine("正方形面积:{0}",square.Area());
Console.WriteLine("正方形周长:{0}", square.Circumference());
Cube cube = new Cube()
{
Lenght=6f,
Height=4
};
Console.WriteLine("正方体表面积:{0}", cube.Area());
Console.WriteLine("正方形体积:{0}", cube.Circumference());