面向对象程序设计实验报告 下载本文

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

一、实验目的

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

和重载构造函数。能够根据给定的要求定义类并实现类的成员函数。 2. 理解类的成员的访问控制的含义,公有、私有和保护成员的区别。 3. 掌握参数传递的用法。 4. 掌握属性的作用和使用。

二、实验要求

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

2. 写出程序,并调试程序,要给出测试数据和实验结果。 3. 整理上机步骤,总结经验和体会。 4. 完成实验日志和上交程序。

三、实验内容

题目一:程序分析

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

static int totalAccountNumber=0; string BankAccountId;

double initialDepositAmount = 0.00; public BankAccount(string myId) {

this.BankAccountId = myId;

this.initialDepositAmount = 0.00; totalAccountNumber++; }

public void displayid() {

Console.WriteLine(\initialDepositAmount); }

public static void display() {

Console.WriteLine(\} }

public class Tester {

public static void Main() {

BankAccount mba = new BankAccount(\BankAccount mba2 = new BankAccount(\BankAccount mba3 = new BankAccount(\

BankAccount mba4 = new BankAccount(\

// Console.WriteLine(\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. 什么是构造方法。

实验五:创建Windows应用程序

一、实验目的

1.了解C#中的各种控件的属性赋值方法。 2.了解C#中控件的事件中输出的方法。 3.进一步熟悉C#程序的开发过程。

二、实验要求

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

2. 写出程序,并调试程序,要给出测试数据和实验结果。 3. 整理上机步骤,总结经验和体会。 4. 完成实验日志和上交程序。

三、实验内容

(3) 从开始菜单启动Visual Studio 2005。 (4) 选择“文件”“新建”“项目”命令,弹出“新建项目”对话框。在

“项目类型”列表框中选中Visual C#选项;在“模板”列表框中选中“Windows应用程序”选项;在“名称”文本框中输入项目名称;在“位置”文本框中输入或选择项目的保存位置。单击“确定”按钮,将显示窗口设计器窗口。

(5) 切换到“属性”窗口、“解决方案资源管理器”窗口和“类视图”窗口,查看

窗体的属性、项目的组成结构以及项目所设计的所有类。

(6) 双击打开“解决方案资源管理器”窗口中的各个文件,在代码编辑器窗口内查

看系统自动生成的与该项目有关的代码。

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

(8) 在窗体上添加一个PictureBox控件和两个Button控件。设置窗体和各控件的

属性,如表1-1所示。

表1-1 窗体及各控件的主要属性 控件 Form1窗体 PictureBox1 Button1按钮 Button2按钮 Text(标题) BorderStyle(边框类型) Text(标题) Text(标题) 属性 Fixed3D 画图 退出 属性值 Windows应用程序测试 (9) 调整窗体大小以及各个控件的位置,如图1-1所示。

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

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

Graphics g = this.pictureBox1.CreateGraphics(); Pen p1 = new Pen(Color.Red, 5); g.DrawRectangle(p1, 80, 50, 100, 50);

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

if (MessageBox.Show(\你确定要退出吗?\请确认...\MessageBoxIcon.Question) == DialogResult.Yes)

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

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

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

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