一个小程序求源代码;

lixin615243 2005-09-07 08:28:25

2、试利用类的继承、多态、封装的基本知识,设计类Polygon,类Square和主函数所在类MainClass,它们位于命名空间Shape中。
要求:设计出类Polygon和类Square,其中包括求多边形面积的方法和内角和属性,并写出其中必须的其他成员和属性。设计MainClass类,在主函数中构造Square类,初始化其边长为5,调用其求面积方法和内角和属性,在控制台输出面积和内角和,写出控制台显示的结果。(实现基本功能10分,类的可重用性和可维护性高10分)
说明:Polygon:多边形Square:正方形 多边形内角和公式:
内角和=(边数-2)×180
...全文
188 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaojiang 2006-06-30
  • 打赏
  • 举报
回复
/*
试利用类的继承、多态、封装的基本知识,设计类Polygon,类Square和主函数所在类MainClass,
它们位于命名空间Shape中。

要求:
设计出类Polygon和类Square,其中包括求多边形面积的方法和内角和属性,并写出其中必须的其他成员和属性。
设计MainClass类,在主函数中构造Square类,初始化其边长为5,调用其求面积方法和内角和属性,
在控制台输出面积和内角和,写出控制台显示的结果。(实现基本功能10分,类的可重用性和可维护性高10分)

说明:Polygon:多边形Square:正方形 多边形内角和公式:
内角和=(边数-2)×180
*/
using System;
using System.Drawing;
using System.Text;

namespace F5.Shapes
{
public abstract class Shape
{
/// <summary>
/// 多边形各边的长度
/// </summary>
protected double[] Side;

public Shape(double[] side)
{
if (side == null || side.Length <=2)
{
throw new Exception("请指定各边,并且边数不能小于3");
}

Side = side;
}
public Shape()
{
Side = null;
}
/// <summary>
/// 求面积
/// </summary>
/// <returns></returns>
public abstract double ComputeArea();
/// <summary>
/// 求多边形内角和
/// </summary>
/// <returns></returns>
public virtual double ComputeNG()
{
return (Side.Length - 2) * 180;
}
}

public class Polygon : Shape
{
public Polygon(double[] side)
: base(side)
{
}
public override double ComputeArea()
{
return 0; //throw new Exception("忘了求多边形面积的公式,楼主找一下在这里填上");
}
}

public class Square : Shape
{
public Square(double sideLength) //sideLength:边长
{
double[] side = new double[4];
for (int i = 0; i < side.Length; i++)
{
side[i] = sideLength;
}
base.Side = side;
}

public override double ComputeArea()
{
return Side[0] * Side[0];
}
}
}

//program.cs :
using System;

using F5.Shapes;

namespace PolygonDemo
{
class Program
{
static void Main(string[] args)
{
double[] side = new double[] {1,2.3,3,4,5};
Shape shape = new Polygon(side);
Console.WriteLine("五边形面积为: {0}, 内角和为: {1}",
shape.ComputeArea(), shape.ComputeNG());

Shape square = new Square(12);
Console.WriteLine("正方形面积为: {0}, 内角和为: {1}",
square.ComputeArea(), square.ComputeNG());

Console.ReadLine();
}
}
}
ericksky 2006-06-30
  • 打赏
  • 举报
回复
呵呵
zhaojiang 2006-06-30
  • 打赏
  • 举报
回复
分数太少了哈,也许不给分还会有人给你答案哦~!
onekey 2006-06-30
  • 打赏
  • 举报
回复
没有现成的源码版的
yesur 2006-06-30
  • 打赏
  • 举报
回复
我想不给分反而会有人给你答案
lixin615243 2006-06-30
  • 打赏
  • 举报
回复
杂个没得人回呢,分都不要啊,我这个帖都这么久了,还是没人回,
那位那里有ASP.NET做的用C#语法,ADO.NET连接SQL 2000数据库的BBS啊
给我说一个嘛,下周我们要交个实习作业,

谢谢了,


回这个问题得分
lixin615243 2006-06-18
  • 打赏
  • 举报
回复
怎么没得人给答案啊,我的分还给不出去哦
冷锋 2005-09-07
  • 打赏
  • 举报
回复
呵呵,楼主挺大方的:实现基本功能10分,类的可重用性和可维护性高10分

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧