NET程序设计实验指导书.docx

上传人:b****3 文档编号:3752895 上传时间:2022-11-25 格式:DOCX 页数:32 大小:88.20KB
下载 相关 举报
NET程序设计实验指导书.docx_第1页
第1页 / 共32页
NET程序设计实验指导书.docx_第2页
第2页 / 共32页
NET程序设计实验指导书.docx_第3页
第3页 / 共32页
NET程序设计实验指导书.docx_第4页
第4页 / 共32页
NET程序设计实验指导书.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

NET程序设计实验指导书.docx

《NET程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《NET程序设计实验指导书.docx(32页珍藏版)》请在冰豆网上搜索。

NET程序设计实验指导书.docx

NET程序设计实验指导书

 

《.NET程序设计》实验指导书

 

计算机科学与技术专业

王阿川

2011.8

 

.NET程序设计实验指导书

实验一C#面向对象程序设计

(一)

实验基本方法和内容

理解C#语言是如何体现面向对象编程基本思想;掌握类对象的定义;了解类的封装方法,以及如何创建类和对象

实验二C#面向对象程序设计

(二)

实验基本方法和内容

掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。

能够根据给定的要求定义类并实现类的成员函数;理解类的成员的访问控制的含义,公有、私有和保护成员的区别。

实验三类的继承

实验基本方法和内容

掌握继承的工作机制和意义;掌握派生类的定义方法和实现。

实验四多态编程练习

实验基本方法和内容:

掌握虚拟方法和重载方法的使用;掌握抽象类和抽象方法的使用;理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出程序结果。

实验一创建简单的.NET应用程序

内容提要:

1.C#程序编写、编译、调试和执行

2.VS2005集成开发环境的使用

实验二面向对象设计

一、实验内容、目标及要求

(一)实验内容

1.实现一个学生类

程序要求如下:

其中有3个数据成员:

学号、姓名、年龄,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

使用成员函数实现对数据的输出;使用构造函数实现对数据的输入。

2.定义一个圆类,计算圆的面积和周长

3.编写一个程序计算出球、圆柱、圆锥的表面积和体积。

要求:

定义一个基类圆,至少含有一个数据成员半径;

定义基类的派生类球、圆柱、圆锥,都含有求体积函数,可以都在构造函数中实现,也可以将求体积和输出写在一个函数中,或者写在两个函数中,请比较使用。

定义主函数,求球、圆柱、圆锥的和体积。

(二)实验目标

要求同学们掌握类的定义,并实现相关的属性与方法,通过实验加深对面向对象概念的理解。

(三)实验要求

1.编写一个包含类和类方法的程序;

2.编写一个创建对象和适用对象的方法程序;

3.编写不同成员变量、方法修饰方法的程序;

4.编写含有构造方法的类的程序;

5.编写重载构造方法的程序;

6.编写类含有静态变量的程序;

7.编写通过ref、out修饰符传递参数的类程序;

8.编写含有属性的类程序。

二、实验准备

(一)运行环境说明

VS2005开发环境

三、实验基本操作流程及说明

可以使用控制动态台程序或窗体程序进行输入并验证程序的正确性。

四、实验评测与考核

要求提供程序源代码并提供程序运行截图

实验三类和对象编程练习

实验内容:

1.类定义

2.方法的重载

3.使用类的访问控制符实现类的封装

实验三继承与多态编程练习

实验内容:

1.派生类的定义方法和实现

2.使用虚方法和抽象方法实现多态

实验一用C#创建简单的.NET应用程序

一、实验目的

1.熟悉VisualC#.NET集成开发环境。

2.掌握控制台应用程序的开发方法。

3.掌握Windows应用程序的开发方法。

二、实验要求

1.整理上机步骤,总结经验和体会。

2.完成实验日志和上交程序。

三、实验内容

题目一:

用最原始的方法开发C#程序

(1)打开记事本,输入下面内容:

usingSystem;

namespacesum

{

publicclassHello

{

publicstaticvoidMain()

{

inta,b;

Console.Write("请输入第一个整数:

");

a=Convert.ToInt32(Console.ReadLine());//将输入的字符串转化为整数

Console.Write("请输入第二个整数:

");

b=Convert.ToInt32(Console.ReadLine());//将输入的字符串转化为整数

Console.WriteLine("a={0},b={1}",a,b);

Console.WriteLine("a+b={0}",a+b);

Console.Read();

}

}

}

(2)将文件命名为sum.cs,保存在…\MicrosoftVisualStudio8\VC目录下。

(3)选择“开始”

“程序”

“MicrosoftVisualStudio2005”

“VisualStudioTools”

“VisualStudio2005命令提示”命令,在命令提示行中输入如下命令:

cscd:

\sum.cs

然后按【Enter】键执行,并观察命令的执行情况。

(4)查看…\MicrosoftVisualStudio8\VC目录下是否存在名为“sum.exe”的可执行文件。

若存在,则双击打开该文件,按照提示输入数据并运行,同时观察运行情况;若不存在,思考出错原因。

题目二:

创建控制台应用程序

(1)选择“开始”

“程序”

“MicrosoftVisualStudio2005”

“MicrosoftVisualStudio2005”命令,启动VisualStudio2005,并仔细观察起始页的内容。

(2)选择“文件”

“新建”

“项目”命令,弹出“新建项目”对话框。

仔细观察对话框的内容。

在“项目类型”列表框中选中VisualC#选项;在“模板”列表框中选中“控制台应用程序”选项;在“名称”文本框中输入项目名称;在“位置”文本框中输入或选择项目的保存位置。

单击“确定”按钮,将显示控制台应用程序代码编辑窗口,在该窗口内显示系统自动生成的相应代码。

仔细观察并分析这些代码。

(3)在代码编辑窗口内的Main()方法中添加如下代码:

Console.Write("当前系统的日期为:

");

//将系统的日期转换为长日期字符串表示形式进行输出

Console.WriteLine(DateTime.Now.ToLongDateString());

Console.Read();

(4)选择“文件”

“全部保存”命令,保存项目。

(5)选择“调试”

“开始执行(不调试)”命令或按【Ctrl+F5】组合键运行程序,并观察运行情况。

(6)在项目的保存位置处查看项目中过的所有文件。

题目三:

创建Windows应用程序

(1)从开始菜单启动VisualStudio2005。

(2)选择“文件”

“新建”

“项目”命令,弹出“新建项目”对话框。

在“项目类型”列表框中选中VisualC#选项;在“模板”列表框中选中“Windows应用程序”选项;在“名称”文本框中输入项目名称;在“位置”文本框中输入或选择项目的保存位置。

单击“确定”按钮,将显示窗口设计器窗口。

(3)切换到“属性”窗口、“解决方案资源管理器”窗口和“类视图”窗口,查看窗体的属性、项目的组成结构以及项目所设计的所有类。

(4)双击打开“解决方案资源管理器”窗口中的各个文件,在代码编辑器窗口内查看系统自动生成的与该项目有关的代码。

(5)选择“调试”

“启动调试”命令,运行程序,查看运行结果,然后关闭窗体。

(6)在窗体上添加一个PictureBox控件和两个Button控件。

设置窗体和各控件的属性,如表1-1所示。

表1-1窗体及各控件的主要属性

控件

属性

属性值

Form1窗体

Text(标题)

Windows应用程序测试

PictureBox1

BorderStyle(边框类型)

Fixed3D

Button1按钮

Text(标题)

画图

Button2按钮

Text(标题)

退出

(1)调整窗体大小以及各个控件的位置,如图1-1所示。

图1-1调整控件位置后的界面

(2)双击Button1按钮,在其Click事件内添加代码:

Graphicsg=this.pictureBox1.CreateGraphics();

Penp1=newPen(Color.Red,5);

g.DrawRectangle(p1,80,50,100,50);

(3)双击Button1按钮,在其Click事件内添加代码:

if(MessageBox.Show("你确定要退出吗?

","请确认...",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)

Application.Exit();//退出应用程序

(4)选择“调试”

“启动调试”命令,或按【F5】键,或单击工具栏上的

按钮,运行程序,查看运行结果。

在项目的保存位置处查看项目中过的所有文件。

实验二面向对象设计

一、实验内容、目标及要求

(一)实验内容

1.实现一个学生类

程序要求如下:

其中有3个数据成员:

学号、姓名、年龄,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

使用成员函数实现对数据的输出;使用构造函数实现对数据的输入。

2.定义一个圆类,计算圆的面积和周长

3.编写一个程序计算出球、圆柱、圆锥的表面积和体积。

要求:

定义一个基类圆,至少含有一个数据成员半径;

定义基类的派生类球、圆柱、圆锥,都含有求体积函数,可以都在构造函数中实现,也可以将求体积和输出写在一个函数中,或者写在两个函数中,请比较使用。

定义主函数,求球、圆柱、圆锥的和体积。

(二)实验目标

要求同学们掌握类的定义,并实现相关的属性与方法,通过实验加深对面向对象概念的理解。

(三)实验要求

1.编写一个包含类和类方法的程序;

2.编写一个创建对象和适用对象的方法程序;

3.编写不同成员变量、方法修饰方法的程序;

4.编写含有构造方法的类的程序;

5.编写重载构造方法的程序;

6.编写类含有静态变量的程序;

7.编写通过ref、out修饰符传递参数的类程序;

8.编写含有属性的类程序。

实验二C#面向对象程序设计

(一)

一、实验目的

1.理解C#语言是如何体现面向对象编程基本思想。

2.掌握类对象的定义。

3.了解类的封装方法,以及如何创建类和对象。

4.了解成员变量和成员方法的特性。

5.掌握静态成员的用法。

二、实验要求

1.分析程序,上机验证结果。

2.写出程序,并调试程序,要给出测试数据和实验结果。

3.整理上机步骤,总结经验和体会。

4.完成实验日志和上交程序。

三、实验内容

题目一:

程序分析

(1)分析下面两个程序,确定那个程序好,说明理由。

程序要求:

定义一个圆类,计算圆的面积和周长。

程序1:

publicclasscircle

{

publicstaticvoidMain()

{

doubleradium,delimeter,square;

constdoublepai=3.1415926;

radium=Convert.ToInt32(Console.ReadLine());

delimeter=2*pai*radium;

square=pai*pai*radium;

Console.WriteLine("delimeter={0},square={1}",delimeter,square);

Console.ReadLine();

}

}

程序2:

publicclasscircle

{

doubledelimeter,square;

constdoublepai=3.1415926;

publicvoidcalculate(doublerad)

{

delimeter=2*pai*rad;

square=pai*pai*rad;

Console.WriteLine("delimeter={0},square={1}",delimeter,square);

}

publicstaticvoidMain()

{

doubleradium;

circlecir=newcircle();

radium=Convert.ToInt32(Console.ReadLine());

cir.calculate(radium);

Console.ReadLine();

}

}

(2)分析程序,写出程序的运行结果,并上机进行验证。

实现一个学生类

程序要求如下:

其中有3个数据成员:

学号、姓名、年龄,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

使用成员函数实现对数据的输出;使用构造函数实现对数据的输入。

UsingSystem;

publicclassstudents

{

stringid,name;

intage;

publicstudents(stringid,stringname,intage)

{

this.id=id;

this.name=name;

this.age=age;

}

publicvoidDisplay()

{

Console.WriteLine("id={0},name={1},age={2}",id,name,age);

}

publicstaticvoidMain()

{

//stringid,name;

//intage;

studentsstu=newstudents("0001","zhangsan",16);

stu.Display();

Console.ReadLine();

}

}

(3)分析程序,写出程序的运行结果,并上机进行验证。

publicclassDate

{

privateintYear,Month,Day;

publicDate(intYear,intMonth,intDay)

{

this.Year=Year;

this.Month=Month;

this.Day=Day;

}

publicDate(System.DateTimedt)

{

Year=dt.Year;

Month=dt.Month;

Day=dt.Day;

}

publicvoidDisplayDate()

{

Console.WriteLine("{0}年{1}月{2}日",Year,Month,Day);

}

}

publicclassTester

{

publicstaticvoidMain()

{

System.DateTimecurrentTime=System.DateTime.Now;

Datedt=newDate(2008,7,18);

dt.DisplayDate();

Datedt2=newDate(currentTime);

dt2.DisplayDate();

Console.ReadLine();

}

}

题目二:

程序编写

(1)实现一个包含类属性方法的简单加法程序,并能显示结果。

(2)实现一个Person类,要求:

属性包含姓名、年龄、身份证号、工作、工资等,并显示各属性的值。

实验三C#面向对象程序设计

(二)

一、实验目的

1.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。

能够根据给定的要求定义类并实现类的成员函数。

2.理解类的成员的访问控制的含义,公有、私有和保护成员的区别。

3.掌握参数传递的用法。

4.掌握属性的作用和使用。

二、实验要求

1.分析程序,上机验证结果。

2.写出程序,并调试程序,要给出测试数据和实验结果。

3.整理上机步骤,总结经验和体会。

4.完成实验日志和上交程序。

三、实验内容

题目一:

程序分析

(1)分析程序,写出程序的运行结果,并上机进行验证,然后回答后面问题。

publicclassBankAccount

{

staticinttotalAccountNumber=0;

stringBankAccountId;

doubleinitialDepositAmount=0.00;

publicBankAccount(stringmyId)

{

this.BankAccountId=myId;

this.initialDepositAmount=0.00;

totalAccountNumber++;

}

publicvoiddisplayid()

{

Console.WriteLine("mbaid={0},initialDepositAmount={1}",this.BankAccountId,this.initialDepositAmount);

}

publicstaticvoiddisplay()

{

Console.WriteLine("totalAccountNumber={0}",totalAccountNumber);

}

}

publicclassTester

{

publicstaticvoidMain()

{

BankAccountmba=newBankAccount("37000001");

BankAccountmba2=newBankAccount("3700002");

BankAccountmba3=newBankAccount("");

BankAccountmba4=newBankAccount("3700004");

//Console.WriteLine("mba2ID={0}",mba2.BankAccountId);

mba2.displayid();

BankAccount.display();

Console.ReadLine();

}

}

请回答问题:

(1)按你自己的算法修改以上程序,比如可只输出生成的账户数。

(2)把注释去掉后会怎样,为什么?

(3)为什么display用类名直接引用,可以用对象来引用么?

尝试输出结果。

(4)类的静态变量和非静态变量的引用区别。

判断一下语句的正确性:

静态方法只能使用静态变量,不能使用实例变量。

因为对象实例化之前,实例变量不可用。

这个观点真确么?

()

类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。

()

对象实例化后,每个实例变量都被制作了一个副本,它们之间互不影响。

()

题目二:

程序编写

1.编写一个传值调用的程序。

程序功能要求:

程序首先给整型变量x和y赋初值3,5,然后使用传值调用方式调用方法对x和y做乘方并及输出x和y的乘方值,最后输出x和y得值。

再将此方法给为对象调用加ref修饰查看输出结果差异。

【思考题】

1.方法的参数传递有哪些方式?

区别时什么?

2.什么是构造方法。

实验三面向对象的程序设计II

实验目的

掌握this的使用

掌握静态成员和静态方法的应用

掌握构造方法的使用

第一部分练习

1、个人银行业务主要由存款、取款、查询余额、转帐组成,一般银行为我们办理个人业务时,需要我们实现存入一部分钱方可为我们开户,创建一个PersonalAccount类,实现以上功能。

1)创建一个名为Bank的控制台应用程序

2)对于一个软件系统,我们需要显示其版本号,软件名称,注册码等信息,这些信息可以用静态成员变量保存。

因此首先我们可以建一个GlobalSettings类存储这些一般信息,类的创建方法和实验四相同,注意不要忘记类名前加public,GlobalSettings类的代码如下:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceBank

{

publicclassGlobalSettings

{

privatestaticstringsoftwareName="创新银行个人业务管理系统";

publicstaticstringSoftwareName

{

get{returnGlobalSettings.softwareName;}

set{GlobalSettings.softwareName=value;}

}

privatestaticstringsoftwareVersion="1.0版";

publicstaticstringSoftwareVersion

{

get{returnGlobalSettings.softwareVersion;}

set{GlobalSettings.softwareVersion=value;}

}

privatestaticstringsoftwareCompany="淮安信息职业技术学院计算机系创新实验室--宋桂岭";

publicstaticstringSoftwareCompany

{

get{returnGlobalSettings.softwareCompany;}

set{GlobalSettings.softwareCompany=value;}

}

privatestaticstringsoftwareDescribe="本系统的创意、著作权均归作者本人所有,任何单位和个人如果引用本系统的任何内容,\n作者保留追究其法律责任的权利,特此声明。

";

publicstaticstringSoftwareDescribe

{

get{returnGlobalSettings.softwareDescribe;}

set{GlobalSettings.softwareDescribe=value;}

}

}

}

3)创建PersonalAccount类,利用构造方法实现开户,利用成员方法实现余额查询、存入、提取、转帐等功能,完整代码如下:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceBank

{

publicclassPersonalAccount

{

privatedoubleaccountRemainValue;//余额

privatestringaccountName;//姓名

publicdoubleAccountRemainValue

{

get{returnaccountRemainValue;}

set{accountRemainValue=value;}

}

publicstringAccountName

{

get{returnaccountName;}

set{ac

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1