- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息刘铨【DOC精选】
实验报告
( 2011---2012 年度 第 一 学期 )
名 称: 计算机实习(1)
题 目:电力设备类的设计与实现
院 系: 数理系
班 级: 信息与计算科学1001
学 号: 201010010109
学生姓名: 刘铨
指导教师: 王 涛
设计周数: 1 周
成 绩:
日期:2011年10月23日 一、实验的目的与要求
培养信息类学生面向对象编程技术的基本能力。
掌握C#程序设计语言。
了解面向对象编程的基本概念。熟练掌握类的编写,掌握类的封装、类的继承,掌握函数的重载,掌握类的构造函数和析构函数的编写。
二、实验
预期实验成果要求
基本要求:完成变压器类、开关类、刀闸类、线路类、母线类、节点类和发电机类的设计与调试。
基本要求:鼠标在屏幕上通过操作可以绘制基础电力设备器件。
提高要求:能实现设备的旋转和放大以及清除画布,保存和打开画布上的元件,在画元件时写出它的名称。
分析
1.1
(1) 总共有九个设备类型,由于都是电力设备,可以通过建立一个电力设备抽象类Element(父类)的方法来简化编程,通过子类继承、覆写来实现各个电力设备的差异化;
(a)父类里应大致包括起点位置、宽度、高度等基本参数,还应有设备的画法等基本方法;
(b)建立好父类Element后,应建立电力设备子类来继承父类中的属性,并在各个类中编码不同的绘制函数;
(2)每个电力设备都应画在一个矩形框中,方便操作和定位;
实现过程
Element所有电力设备的父类,应具有所有电力设备的公共属性和通用方法,它是Object继承的类,其属性如下:
1) private float x; 作用:用于存储矩形左上角的x坐标
2) private float y; 作用:用于存储矩形左上角的y坐标
3)private float w; 作用:用于存储矩形的宽度
4) private float h; 作用:用于存储矩形的高度
5) private float b; 作用:用于存储各设备的比例因子
其方法如下:
public virtual void draw(Graphics g, Pen mypen)
该函数用于绘制设备图形;Element中为虚函数,这样在其子类中可以对其进行覆写;
public RectangleF Move_Rect(RectangleF r,float x,float y,float b)
该函数用于改变每个小矩形的大小及最初的起点坐标 。其次,用此函数可以实现放大缩小的功能。
public bool is_pick(PointF p)
该函数用于判断设备是否被拾起,pick为鼠标点下时的坐标,返回值为布尔值,当值为真时代表拾起,值为假时代表未被拾起;
2. 母线(muxian)的设计与实现
muxian是继承Element的子类,应覆写画法方法,除了从Element中继承来的所有变量外,母线没有其他私有变量;除了从Element中继承来方法,muxian没有其他私有方法;
其方法如下:
public virtual void draw(Graphics g, Pen mypen)
该函数用于绘制设备图形;
public bool is_pick(PointF p)
该函数用于判断设备是否被拾起,pick为鼠标点下时的坐标,返回值为布尔值,当值为真时代表拾起,值为假时代表未被拾起;
3.开关(kaiguan)的设计与实现
kaiguan 是继承Element的子类,应覆写画法方法, 除了从Element中继承来方法;
其方法如下:
public virtual void draw(Graphics g, Pen mypen)
该函数用于绘制设备图形;
RectangleF r = new RectangleF(X, Y, W*B, H*B);
该函数用于计算设备的邻域;
private void _computer_location()
该函数用指定的位置和大小实例化矩形;
public bool is_pick(Point
文档评论(0)