从一个舆论调查的制作谈面向对象的编程思路(三)
2024-07-21 02:16:41
供稿:网友
现在你是不是发现已经可以用这个类来进行舆论调查的操作了?但这个类里还没有任何的页面html
输出,所以现在的问题就是做页面显示层了,但现在又面临一个问题,那就是如何显示调查结果的问题,
比较流行的做法是用图表来表示,可以根据需要选择条形图、饼性图或折线图等等,那么如果在这个调查
类里来做也可以,但实在太不上算,应该单独做这么一个图表类,可以根据条件画这种图表,下面就是这
个类的定义:
namespace myclass.util
{
using system;
using system.collections ;
using system.drawing ;
/// <summary>
/// mychart是一个统计图类,可以生成饼形图、条形图和折线图
/// </summary>
public class mychart : object
{
/// <summary>
/// 枚举类型
/// </summary>
/// <remarks>
/// 三种类型,饼形图是pie , 条形图是bar , 折线图是curve
/// </remarks>
public enum charttype
{
pie = 0 ,
bar = 1 ,
curve = 2
};
/// <summary>
/// 统计图标题
/// </summary>
private string m_strtitle ;
/// <summary>
/// 统计图项目数组,数组元素是chartitem类
/// </summary>
/// <remarks>
/// 所有统计图项目的百分比和等于100。
/// </remarks>
private arraylist m_arritems ;
/// <summary>
/// 计量单位
/// </summary>
private string m_strunit ;
/// <summary>
/// 生成统计图的宽度
/// </summary>
/// <remarks>
/// 默认是200
/// </remarks>
private int m_intwidth ;
/// <summary>
/// 生成统计图的高度
/// </summary>
/// <remarks>
/// 默认是200
/// </remarks>
private int m_intheight ;
/// <summary>
/// 生成统计图的背景色
/// </summary>
private system.drawing.color m_objbackcolor ;
/// <summary>
/// 统计图类型
/// </summary>
/// <remarks>
/// 默认是饼形图
/// </remarks>
private charttype m_intcharttype ;
/// <summary>
/// 总数
/// </summary>
private int m_inttotalcount ;
/// <summary>
/// 总数,只读
/// </summary>
public int totalcount
{
get
{
return m_inttotalcount ;
}
}
/// <summary>
/// 统计图的标题
/// </summary>
public string title
{
get
{
return m_strtitle ;
}
set
{
m_strtitle = value ;
}
}
/// <summary>
/// 统计图项数组
/// </summary>
/// <remarks>
/// 这个属性只读,若要添加项目,用additem函数
/// </remarks>
public arraylist items
{
get
{
return m_arritems ;
}
}
/// <summary>
/// 统计图宽度
/// </summary>
public int width
{
get
{
return m_intwidth ;
}
set
{
m_intwidth = value ;
}
}
/// <summary>
/// 计量单位
/// </summary>
public string unit
{
get
{
return m_strunit ;
}
set
{
m_strunit = value ;
}
}
/// <summary>
/// 统计图高度
/// </summary>
public int height
{
get
{
return m_intheight ;
}
set
{
m_intheight = value ;
}
}
/// <summary>
/// 统计图背景色
/// </summary>
public system.drawing.color backcolor
{
get
{
return m_objbackcolor ;
}
set
{
m_objbackcolor = value ;
}
}
/// <summary>
/// 图表类型,这个决定生成的图片采用什么形式
/// </summary>
/// <remarks>
/// pie : 饼形图
/// bar: 条形图
/// curve: 折线图
public charttype type
{
get
{
return m_intcharttype ;
}
set
{
m_intcharttype = value ;
}
}
/// <summary>
/// 构造函数
/// </summary>