《C#实验指导》由会员分享,可在线阅读,更多相关《C#实验指导(42页珍藏版)》请在装配图网上搜索。
长春理工大学 程序设计实验指导书
《C#程序设计》
实验指导书
1
目录
实验一C#与.NET环境初步 3
【实验目的】 。
【实验环境】 。
【实验重点及难点】 。
【实验内容】 。
实验二C#基础知识运用 4
【实验目的】 。
【实验环境】 。
【实验重点及难点】 。
【实验内容】 。
实验三在C#中实现面向对象编程 6
【实验目的】 6
【实验环境】 6
【实验重点及难点】 6
【实验内容】 6
实验四 WinForms程序设计初步 7
【实验目的】 7
【实验环境】 7
【实验重点及难点】 7
【实验内容】 7
实验五 调试、测试和异常处理 10
【实验目的】 10
【实验环境】 10
【实验重点及难点】 10
【实验内容】 10
实验六 数据库编程:连接数据库 13
【实验目的】 13
【实验环境】 13
【实验重点及难点】 13
【实验内容】 13
实验七数据库编程:检索操作数据 18
【实验目的】 18
【实验环境】 18
【实验重点及难点】 18
【实验内容】 18
实验八 C#高级编程 20
【实验目的】 20
【实验环境】 20
【实验重点及难点】 20
【实验内容】 20
实验九数组、集合对象和泛型 23
【实验目的】 23
【实验环境】 23
【实验重点及难点】 23
【实验内容】 23
实验十 WinForms高级编程 27
【实验目的】 27
【实验环境】 27
【实验重点及难点】 。
【实验内容】 27
实验十一三层结构数据库系统开发 33
【实验目的】 33
【实验环境】 33
【实验重点及难点】 33
【实验内容】 33
实验十二简单设计模式及应用 35
【实验目的】 。
【实验环境】 。
【实验重点及难点】 。
【实验内容】 。
实验十三文件和注册表操作 38
【实验目的】 38
【实验环境】 38
【实验重点及难点】 38
【实验内容】 38
实训一、C#与.NET环境初步
实训目的:
了解.NET Framework 的结构。
理解.NET Framework 的基本概念
了解 .NET Framework 命名空间
了解C#程序的基本结构
熟悉Visual Studio.NET的配置
熟悉如何创建一个控制台应用程
实训内容:
编写第一个控制台的输入与输出程序
建立第一个Windows窗体应用程序
定义一个简单的IP地址结构体
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训步骤:
1:控制台的输入与输出
问题
在控制台上实现文本的输入与输出。
问题说明
按照提示输入自己的姓名,程序输出你输入的名字,并欢迎使用C#语言。主要使用Console(控制台)对象的WriteLine和Write方法实现显示;使用ReadLine方法读入字符。
分析
Main()是应用程序(可执行)的入口点,它必须包含在一个类中,且仅有一个类能使用该标志定义。
参考步骤:
(1)为解决方案创建一个控制台应用程序的项目“Example_1”。
(2)将“Program.cs”类文件重命名为“Welcome.cs”。
(3)将以下代码添加到“Welcome.cs”中。
using System; //给System名字空间加一个using指令,不再需要规定名字空间,就可以使用它们的方法和属性
using System.Collections.Generic;
using System.Text;
namespace Example_1
{
class Welcome
{
/*这种注释
跨越多行*/
static void Main(string[] args)
{
//这是单行注释
Console.Write("请输入你的姓名:"); //Write与WriteLine不同的地方在于它输出
时不换行
string strName = Console.ReadLine();
Console.WriteLine("{0}+,你好!\n 欢迎使用C#语言!", strName); //{0}代替
WriteLine方法的参数表中紧随格式串后的第一个变量
}
}
}
(4)选择“生成”→“生成解决方案”选项,以生成此项目。
(5)选择“调试” →“开始执行(不调试)”选项来执行此应用程序。
此应用程序的输出结果如图1.1所示。
图1.1 Welcome.cs的输出结果
根据实验内容和步骤,写出实验体会。
实训二、C#基础知识运用
实训目的:
通过本章的学习,主要把握以下内容:
在C#中定义变量和常量
使用C# 中的基本数据类型
理解装箱和拆箱的概念
使用C#中的运算符,选择结构和循环结构
定义和使用数组,了解结构和枚举
熟悉C#中的预处理指令
熟悉C#中的字符串处理
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训内容:
编写一个使用枚举和Switch case选择语句的程序
浮点型数组排序
编写1到9的乘法口诀表程序
实训步骤:
1:枚举和Switch case
问题
枚举类型的构建和使用;通过Switch case语句来对符合条件值进行输出。
问题说明
编写一个Degrees的枚举,然后引用这个枚举。
分析
在此问题中首先需要定义一组不同类型的学位。为此,可通过以下方式创建枚举。
Enum Degrees
{
Bachelor, //学士
Master, //硕士
Doctor //博士
}
然后,可以使用switch结构,根据传递到此switch结构的枚举成员来决定要显示的信息。
参考步骤:
(1)为解决方案创建一个控制台应用程序的项目“Example_3”。
(2)将“Program.cs”类文件重命名为“EnumDemo.cs”。
(3)将以下代码添加到“EnumDemo.cs”中。
using System;
using System.Collections.Generic;
using System.Text;
namespace Example_3
{
// 学位枚举列表
enum Degrees
{
// 枚举成员
Bachelor,
Master,
Doctor
}
///
/// 此程序演示枚举和 switch case 的用法。
///
class EnumDemo
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main(string[] args)
{
// 用 switch case 来为相应的 case 显示信息。
switch (Degrees.Master)
{
case Degrees.Bachelor:
Console.WriteLine("你的学位为学士");
break;
case Degrees.Master:
Console.WriteLine("你的学位为硕士");
break;
case Degrees.Doctor:
Console.WriteLine("你的学位为博士");
break;
default: break;
}
Console.ReadLine();
}
}
}
(4)选择“生成”→“生成解决方案”选项,以生成此项目。
(5)选择“调试” →“开始执行(不调试)”选项来执行此应用程序。
此应用程序的输出结果如图1.1所示。
图1.1 EnumDemo.cs的输出结果
实验总结
根据实验内容和步骤,写出实验体会。
实训三、在C#中实现面向对象编程
实训目的:
通过本章的学习,主要把握以下内容:
理解 C# 的类和对象
使用 C# 构造函数和析构函数
使用 C# 访问修饰符
使用方法
在C#中使用方法的重写
理解属性及其不同的类型、实现
理解和使用索引器
理解命名空间
实训内容:
编写一个队列类的C#程序。
this关键字的使用。
构造函数的重载和普通函数的重载。
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训步骤:
1:队列类的应用程序
问题
在数据结构中已经学习了队列,请用C#编写一个类实现队列的功能,并编写一个测试类测试该队列的功能。(参考.Net的类库中已经封装好了的队列类:System.Collections.Queue,可以将自己做好的类,和它进行比较)
问题说明
队列是限定所有的插入操作在表的一端进行,而删除操作在表的另一端进行的线性表,具有先进先出的特性。确定该队列中存储的值类型为整数类型。
分析
一个队列有入排和出排动作,可以编写两个函数分别命名为EnQueue和DeQueue;还应该有一个属性Length:判断队列中的元素个数;一个打印的函数Print:将队列中所有的值进行打印输出。
实训总结
根据实验内容和步骤,写出实验体会。
实训四 WinForms程序设计初步
实训目的:
1、 理解 Windows 窗体
2、 使用基本控件如标签、文本、按钮、列表框和组合框
3、 掌握窗体的常用属性和方法
4、 使用WinForms中的高级控件
5、 单选按钮
6、 图片框
7、 选项卡控件
8、 滚动条
9、 进度条
实训内容:
建立个人简历的Windows应用程序。
建立一个模拟的计算器应用程序。
建立一个媒体播放机应用程序。
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训步骤:
Windows窗体是Visual Studio .NET提供的集成开发环境(IDE),可用于Windows应用程序开发。它带有可用于创建GUI(Graphical User Interface,图形用户界面)的所有现成界面组件。
1:创建Windows窗体个人简历应用程序
问题
请编写一个简单的个人简历程序,要求可以通过文本框输入姓名,通过单选按钮设置性别,通过下拉列表框选择文化程度,通过文本区域填写其他个人信息;通过文件对话框选择照片并显示;通过两个下拉列表框来关联选择籍贯。
指导教师分析解题思路
该问题需要开发一个窗体,要求对用户的简历信息进行登记。该应用程序主要用到按钮、文本输入框、图片显示框、下拉列表框和列表框等控件。
分析
主要通过对窗体和各控件相应的事件处理函数进行编程,包括窗体的Load、下拉框的SelectedIndexChanged、按钮的Click事件。
参考步骤:
先看看窗体的界面效果:
图5.1 登录屏幕
(1)新建一个名为“PersonalResume”的基于Windows应用程序的项目。
(2)将文件“Form1.cs”重命名为“PersonInfo.cs”。
(3)设计窗体,方法是添加五个标签控件、一个文本框、两个按钮、两个单选按钮、一个图片显示框、一个下拉列表框和列表框。如表5.1所示列出了每个控件的属性。
表5.1 窗体的控件属性
控件类型
Name属性
Text文本
说明
Label
lab_name
姓名:
Label
lab_sex
性别:
Label
lab_nativePlace
籍贯:
Label
lab_photo
照片:
Label
lab_otherInfo
其他信息:
TextBox
tbx_name
RadioButton
rbn_male
男性
RadioButton
rbn_female
女性
ComboBox
cbx_province
ListBox
lbx_city
PictureBox
pbx_photo
RichTextBox
rtbx_otherInfo
Button
btn_browse
浏 览
Button
btn_OK
确 定
(4)在窗体的Load事件中编写下列代码。
private void PersonInfo_Load(object sender, EventArgs e)
{
cbx_province.Items.Add("浙江省");
cbx_province.Items.Add("江苏省");
cbx_province.SelectedIndex = 0;
}
(5)在cbx_province的SelectedIndexChanged事件中编写下列代码。
private void cbx_province_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbx_province.SelectedItem != null)
{
string provinceStr = cbx_province.SelectedItem.ToString().Trim();
string[] zjCitys ={"杭州市","宁波市","温州市","绍兴市","台州市","湖州市","金
华市","嘉兴市","衢州市" ,"丽水市","舟山市"};
string[] jsCitys ={ "常州市", "淮安市", "连云港市", "南京市", "南通市", "苏
州市", "宿迁市", "泰州市", "无锡市", "徐州市", "盐城市" ,"扬州市","镇江市"};
lbx_city.Items.Clear(); //清空所有的Item项
switch (provinceStr)
{
case "浙江省":
lbx_city.Items.AddRange(zjCitys); //添加浙江省的城市
break;
case "江苏省":
lbx_city.Items.AddRange(jsCitys); //添加江苏省的城市
break;
}
}
}
(6)在btn_browse的Click事件中编写下列代码。
private void btn_browse_Click(object sender, EventArgs e)
{
OpenFileDialog imageDialog = new OpenFileDialog();
imageDialog.Filter = "BMP(*.BMP)|*.BMP|JPEG(*.JPEG)|*.JPEG|JPG(*.JPG)|*.JPG|GIF
(*.GIF)|*.GIF|PNG(*.png)|*.png";
imageDialog.Title = "选择照片";
if (imageDialog.ShowDialog() == DialogResult.OK)
{
pbx_photo.ImageLocation = imageDialog.FileName;
}
}
(7)在btn_OK的Click事件中编写下列代码。
private void btn_OK_Click(object sender, EventArgs e)
{
if (tbx_name.Text == "" && tbx_name.Text.Length < 1)
{
MessageBox.Show("请填写姓名!", "提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
return;
}
if (lbx_city.SelectedItem == null)
{
MessageBox.Show("请选择籍贯!", "提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
return;
}
MessageBox.Show("你的简历信息将会保存到数据库中,\n以便招聘企业查询!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
}
实验总结
根据实验内容和步骤,写出实验体会。
实训五、调试、测试和异常处理
实训目的:
理解如何调试应用程序和排除错误
掌握如何测试 C# 应用程序
了解测试和调试的区别
在程序中进行错误捕获和错误处理
实训内容:
调试C#应用程序。
检测并处理异常。
自定义异常类
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训步骤:
Visual Studio.NET提供了多种调试功能,可让程序在其中的不同位置暂停执行,以便更改变量或仔细查看代码如何工作或为什么无法工作。C#提供了一种结构化、统一且类型安全的方法,通过使用异常来处理系统级和应用程序级错误情况。
1:调试应用程序
问题
采用多种查看方式来对变量值进行监视。
问题说明
调试“WinForms基础知识第一部分1”中创建的项目,以监视变量的值。
分析
分析解题思路
该问题需要在所需代码行处设置断点,并监视变量的值。然后可以通过“局部变量”窗口或“监视”窗口查看或更改变量的值。另外也可以使用“即时”窗口来检查任何变量的值。
参考步骤:
(1)打开上机:WinForms基础知识第一部分1中创建的应用程序。
(2)打开“PersonInfo.cs”文件并设置断点(当键盘光标位于需要添加断点所在的代码行时按下F9),如下图所示。
设置断点
(3)运行此应用程序。焦点变为第一个断点后,程序将暂停执行。选择“调试” →“窗口” →“局部变量”,以打开“局部变量”窗口,此窗口将显示当前位于程序作用域内的所有变量以及它们的值。检查这些变量的值,如下图所示。
“局部变量”窗口
(4)右键单击方法中的provinceStr变量,然后选择“添加监视”。此时将显示“添加监视”窗口以及provinceStr的当前值,如下图所示。可以看出,“监视”窗口只列出已经设置为监视的变量,这与“局部变量”窗口显示作用域内的所有局部变量有所不同。如果程序执行的当前作用域存在许多变量,但其中只有少数变量需要跟踪,则“监视”窗口将十分有用。
“监视” 窗格
(5)单击“值”列,在“监视”窗格中将provinceStr变量的值更改为“江苏省”。
(6)选择“调试” →“窗口” →“即时”,以显示即时模式的“命令”窗口。要检查变量的值,可使用语法。例如,键入?provinceStr即可检查变量provinceStr的值,如下图所示。
即时模式的“命令”窗格
(7)单击“调试” →“继续”,以继续执行程序。点击窗体上的浏览按钮,去触发Click事件,控制权将转到下一个断点行。将鼠标指针指向变量imageDialog.Title。该值将显示在一个小框中,如下图所示。
显示imageDialog.Title的当前值
(8)选择“调试” →“快速监视”,以显示当前对象的值,如下图所示。
“快速监视”窗口
“快速监视”窗口显示当前对象的值。关键字this代表当前的对象。如果要查看对象字段的属性值,可在“快速监视”窗口中键入属性名,然后按下Enter键。此时将显示该值。例如,键入this.Height即可查看Height变量包含的值。
实训总结:
根据实训内容和步骤,写出实训体会。
实验六 数据库编程:连接数据库
实训目的:
了解ADO.NET 结构
了解ADO.NET 的组件
使用Command 对象和 Connection 对象
使用ADO.NET 进行事务处理
使用Command和Connection对象。
多表查询的应用。
主从关系表
实训内容:
实现用ADO.NET对数据库的操作。
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训步骤:
1:用command和Connection实现系统登录界面
问题
一般的程序都需要登录后才能使用,登录时应提供用户名、密码和身份类型。
问题说明
本程序采用SqlServer做为数据库。数据库中有一张表名为:recordInfo,用来记录注册用户的信息;表中有3个字段,分别是id(用户名),pwd(密码),type(类型)。
分析
首先使用以下命名空间:
using System.Data;
using System.Data. SqlClient;
用以下方式创建Connection和Command对象,以便在.NET中操作SqlServer数据库。
// 创建Connection 对象
string connString = "Data Source=.;Initial Catalog=MySchool;User ID=sa;pwd=sa";
SqlConnection connection = new SqlConnection(connString);
// 创建Command 对象
SqlCommand command = new SqlCommand(sql, connection);
由于返回的是记录数,所以使用Command对象的ExecuteScalar ()方法执行该命令。
解决方案:
(1)在SqlServer中创建“MySchool”数据库。添加一个表名为recordInfo的新表,添加3列:id(用户名),pwd(密码),type(类型)。
(2)向新表recordInfo中添加几行示例数据。
(3)打开Visual Studio .NET 2005 IDE并新建一个名为ConnectStr的Windows应用程序项目。
(4)将Form1.cs文件重命名为LoginForm.cs。
(5)拖动工具箱中的控件,设计如图所示的窗体。
窗体设计界面
(6)添加两个按钮的Click事件,程序代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace ConnectStr
{
public partial class LoginForm : Form
{
string name;
string type;
public LoginForm()
{
InitializeComponent();
}
private void btnLogIn_Click(object sender, EventArgs e)
{
bool isValidUser = false; // 标识是否为合法用户
// 如果验证通过,就显示相应的用户窗体,并将当前窗体设为不可见
if (ValidateInput())
{
// 调用用户验证方法
isValidUser = ValidateUser(
cboLogInType.Text,
txtLogInId.Text,
txtLogInPwd.Text);
// 如果是合法用户,显示相应的窗体
if (isValidUser)
{
// 将输入的用户名保存到全局变量中
name = txtLogInId.Text;
// 将选择的登录类型保存到全局变量中
type = cboLogInType.Text;
ShowUserForm(); // 显示相应用户的主窗体
}
}
}
// 验证用户是否进行了输入和选择
private bool ValidateInput()
{
if (txtLogInId.Text.Trim() == "")
{
MessageBox.Show("请输入用户名", "输入提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
txtLogInId.Focus();
return false;
}
else if (txtLogInPwd.Text.Trim() == "")
{
MessageBox.Show("请输入密码", "输入提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
txtLogInPwd.Focus();
return false;
}
else if (cboLogInType.Text.Trim() == "")
{
MessageBox.Show("请选择登录类型", "输入提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
cboLogInType.Focus();
return false;
}
else
{
return true;
}
}
// 验证用户输入的用户名和密码是否正确
// 验证的结果有两种情况:通过和不通过,返回值为布尔型
// 不通过的原因可能有多种,在方法的参数中的message字符串,用以标识不通过的情况
public bool ValidateUser(string loginType, string loginId, string loginPwd)
{
// 创建Connection 对象
string connString = "Data Source=.;Initial Catalog=MySchool;User ID=sa;pwd=sa";
SqlConnection connection = new SqlConnection(connString);
int num = 0; // 选员信息的数量
// 查询用的SQL 语句
string sql = "SELECT COUNT(*) FROM recordInfo where id=" + loginId + " and
pwd=" + loginPwd + " and type=" + loginType + "";
bool isExist = false;
try
{
connection.Open();// 打开数据库连接
// 创建Command 对象
SqlCommand command = new SqlCommand(sql, connection);
// 执行SQL 查询
num = (int)command.ExecuteScalar();
if (num > 0)
{
isExist = true;
}
else
{
MessageBox.Show("数据库中无此记录!","提示信息", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
// 操作出错
MessageBox.Show("连接数据库出错!");
}
finally
{
// 关闭数据库连接
connection.Close();
}
return isExist;
}
// 根据登录类型,显示相应的窗体
public void ShowUserForm()
{
MessageBox.Show("欢迎使用该系统:" + type + name);
}
private void btnCancel_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
(7)保存并构建应用程序。执行应用程序,以验证其工作情况。运行效果如图所示:
登录界面图
实训总结
根据实训内容和步骤,写出实训体会。
实验七 数据库编程:检索操作数据
实训目的:
熟练应用BindingSource和BindingNavigator控件。
熟练使用DataAdapter和DataReader。
实训内容:
检索操作数据
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训步骤:
1:使用BindingSource和BindingNavigator控件操作数据库
问题
创建一个具有添加、删除、修改等功能的SQL Server数据库应用程序。
关键步骤
(1) 连接SQL Server数据库
启动数据源配置向导,在“选择您的数据连接”对话框中单击【新建数据连接】按钮,在“添加连接”对话框中若默认的连接类型不正确,可单击【更改】按钮打开对话框,选择其中“Microsoft SQL Server”数据源类型,单击【确定】按钮。
(2)TableAdapter配置向导
在程序窗体设计器下方可以看到由系统自动创建的4个对象:DataSet(数据集)、BindingSource(绑定到数据源)、TableAdapter(表适配器)和BindingNavigator(绑定到导航工具栏)。鼠标指向DataSet或TableAdapter单击右键,在弹出的快捷菜单中执行“在数据集编辑器中编辑”命令打开对话框。右键单击表适配器,在弹出的快捷菜单中执行“配置”命令,启动TableAdapter配置向导。
单击对话框中【高级设置】按钮,打开对话框。用户可根据程序的需要选择是否生成Insert(插入)、Update(更新)和Delete(删除)SQL语句。
单击“输入SQL语句”对话框中的【下一步】按钮,打开对话框。此处可以选择需要为TableAdapter生成哪些方法,如填充(Fill)、返回(Get)及用于将更新直接发送到数据库的方法。单击【下一步】按钮,在对话框中单击【完成】按钮结束TableAdapter配置向导。
(3)完善程序界面和代码
通过使用数据源配置向导和TableAdapter配置向导,创建的SQL Server数据库应用程序已具有了要求的功能。但为了使程序更加美观、更加人性化还需要进行一些简单的完善。设计界面如图所示:
界面设计视图
表可以采用两种方式进行显示:DataGridView和详细信息。如采用详细信息方式时,列的显示方式就有多种选择,如TextBox、Label、ComboBox等。
解决方案:
(1)创建一个名为“ConnectExam”的基于Windows的应用程序。
(2)添加数据源。
(3)配置TableAdapter。
(4)设计界面。
(5)完善代码。
用户单击保存按钮时执行的事件过程代码修改如下:
private void studentBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.studentBindingSource.EndEdit();
this.studentTableAdapter.Update(this.connectExampleDataSet.student);
// 下列语句行用于显示提示信息,需要手工添加
MessageBox.Show("更新成功!", "系统提示",MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
添加用户关闭窗体时执行的事件过程代码如下:
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
// 声明变量用于存放信息框返回结果
DialogResult result;
// 用HasChanges()方法判断数据集是否已被修改
if (connectExampleDataSet.HasChanges())
{
// 若数据集已被修改则显示信息框提示用户
result = MessageBox.Show("数据已被修改,是否保存? ", "系统提示",
MessageBoxButtons.YesNo, MessageBoxIcon.Information);
// 若用户单击了信息框中的【是】按钮
if (result == DialogResult.Yes)
{
this.Validate();
this.studentBindingSource.EndEdit();
this.studentTableAdapter.Update(connectExampleDataSet.student);
}
}
}
根据实训内容和步骤,写出实训体会。
实验八 C#高级编程
实训目的:
u 理解继承
u 在C# 中使用继承
u 在C#中使用接口
u 在C#中使用方法的重写
u 实现委托
u 定义和触发事件
u 组件与程序集
u 反射
实训内容:
单一继承
抽象类和抽象方法
使用委托和事件实现模拟闹铃。
飞机和客机类的多态程序
实训设备仪器:
PC50台,要求:windows7/xp/2000/2003操作系统,配置Vc#2005/2008运行环境,安装SQL Server2000/2005/2008数据库管理系统
实训步骤:
1:单一继承
问题
现实生活中,哺乳动物是动物界中一个分支;可以动物普遍具有的特征都可以在哺乳动物身上找到;但哺乳动物也有自己独特的习性。因此可以将动物看成是哺乳动物的父亲。编程实现上可以通过哺乳动物类继承一般动物类,从而获得一般动物的特征。
问题说明
用C#编写一个程序,使用Animal和Mammal两个类来说明一般动物和哺乳动物的继承关系。Animal具有名称、所属门类等属性,需要提供方法实现以接收和显示这些属性的值。
Mammal类具有代表哺乳动物习性的属性,这些属性表明哺乳动物与其他类型动物的区别。同样地,需要提供方法实现以接收和显示这些属性的值。
分析
Animal类是一个基类,它包含_name、_type两个成员以及用于接收和显示信息的三个方法。名为Mammal的派生类包含_temperature、_isViviparous两个成员和用于接收和显示信息的两个方法。
为了检验创建的Animal和Mammal类,应实例化一个Mammal类对象,并调用基类和派生类的方法来存储和检索值。
参考步骤:
(1)新建一个名为“SingleInher”的基于控制台应用程序的项目。
(2)将以下代码添加到“Program.cs”中。
using System;
using System.Collections.Generic;
using System.Text;
namespace SingleInher
{
//一般动物类
class Animal
{
protected string _name; //动物名称
protected string _type; //动物所属门类
//接收名称和门类
public void AcceptDetails()
{
Console.WriteLine("请输入动物名称:");
this._name = Console.ReadLine();
Console.WriteLine("请输入所属门类:");
this._type = Console.ReadLine();
}
//显示动物的名称和所属门类
public void DisplayDetails()
{
Console.WriteLine();
Console.WriteLine("{0} 动物的详细信息如下:", this._name);
Console.WriteLine("姓名:{0}", this._name);
Console.W
链接地址:https://www.zhuangpeitu.com/p-10147920.html