求C#程序.定义一个接口IShape ,包括方法Area()(用来计算面积)和SetData()(用来重设形状大小).

问题描述:

求C#程序.定义一个接口IShape ,包括方法Area()(用来计算面积)和SetData()(用来重设形状大小).
定义一个接口IShape ,包括方法Area()(用来计算面积)和SetData()(用来重设形状大小).然后派生出三角形CTriangle类、矩形CRect类、圆形CCircle类,分别求其面积.最后定义一个CArea类,计算这几个形状的面积之和,各形状的数据通过CArea构造函数或成员函数来设置.编写一个完整的程序.
1个回答 分类:综合 2014-10-25

问题解答:

我来补答
interface Ishpe
{
decimal Area();
decimal SetData();
}
class CTriangle :Ishpe
{
public CTriangle(decimal height,decimal bottom)
{
this.Height = height;
this.Bottom = bottom;
}
public decimal Height { get; set; }
public decimal Bottom { get; set; }
public decimal Area()
{
return (Height * Bottom) / 2;
}
public decimal SetData()
{
return 0;
}
}
class CRect :Ishpe
{
public CRect(decimal height,decimal width)
{
this.Height = height;
this.Width = width;
}
public decimal Height { get; set; }
public decimal Width { get; set; }
public decimal Area()
{
return Height * Width;
}
public decimal SetData()
{
return 0;
}
}
class CCircle :Ishpe
{
public CCircle(decimal radius)
{
this.Radius = radius;
}
public decimal Radius { get; set; }
public decimal Area()
{
decimal temp = (decimal)Math.PI;
return temp * Radius * Radius;
}
public decimal SetData()
{
return 0;
}
}
class CArea
{
public CArea(decimal circleArea,decimal rectArea,decimal triangleArea)
{
this.RectArea = rectArea;
this.TriangleArea = triangleArea;
this.CircleArea = circleArea;
}
public decimal CircleArea { get; set; }
public decimal RectArea { get; set; }
public decimal TriangleArea { get; set; }
public decimal SumArea()
{
return CircleArea + RectArea + TriangleArea;
}
}
你这个重设大小我实在不明白什么意思.我数学也不是特别好!
再问: 那个我也不明白是什么意思。。 public decimal Height { get; set; }这个是什么意思。。而且。。你这个程序运行不起来的吧。。。。怎么木有Main的那个程序入口啊?
再答: public decimal Height { get; set; } 这个你就当属性用!这个是类!类写好了在main入口里直接用就可以了! class Program { static void Main(string[] args) { CTriangle ct = new CTriangle(2, 2); //三角形 Console.WriteLine(ct.Area()); CRect cr = new CRect(2, 2); //正方形 Console.WriteLine(cr.Area()); CCircle cc = new CCircle(2); //圆形 Console.WriteLine(cc.Area()); CArea ca = new CArea(ct.Area(), cr.Area(), cc.Area()); Console.WriteLine(ca.SumArea()); Console.ReadKey(); } }
再问: Console.ReadKey(); 这个是干什么的?。。书上也出来过。。不懂意思。。
再答: 这个和 Console.ReadLine();差不多! 就是监听键盘输入! 一个是读取键盘输入的内容!
 
 
展开全文阅读
剩余:2000