实例3-1 创建和引用名字空间
1.文件列表
本实例由以下文件组成。
该实例实现步骤如下。
2.创建窗体
1 新建一个项目,命名为chapter3,并在该项目中添加一个文件夹,命名为“名字空间”。具体实现参照第2章的实例2-1。
2 用鼠标右键单击文件夹“名字空间”,在弹出菜单中选择“添加”→“类”菜单命令,此时以默认的class1作为该类名,单击“添加”按钮完成类的创建。
3 用鼠标右键单击文件夹“名字空间”,在弹出菜单中选择“添加”→“Windows窗体”菜单命令,在弹出的对话框中输入窗体名NspaceFrm,单击“添加”按钮完成窗体的创建。
4 添加控件
在窗体中添加4个TexBox控件用于显示信息。
添加5个Label控件用于对相关信息的说明。
3.代码实现
(1)class1.vb的实现
双击class1.vb文件,在其中添加代码3-1中的代码。
代码3-1 class1.vb
01. Namespace MyNs '定义一个名为MyNs的名字空间 02. Public Class class1 03. Public Function fun1() As String '定义第一个函数 04. Return "第一个函数" 05. End Function 06. Public Function fun2() As String '定义第二个函数 07. Return "第二个函数" 08. End Function 09. End Class 10. Namespace childMyNs '定义一个嵌套名字空间childMyNs 11. Public Class childclass1 12. Public Function fun3() As String '定义第三个函数 13. Return "第三个函数" 14. End Function 15. Public Function fun4() As String '定义第四个函数 16. Return "第四个函数" 17. End Function 18. End Class 19. End Namespace 20. End Namespace
代码3-1执行步骤如下:
① 第1行代码定义一个名为MyNs的名字空间;
② 第2行代码在该名字空间中定义一个类,类名为class1;
③ 第3行到第5行代码在class1类中定义一个Function函数,该函数实现返回一个字符串“第一个函数”;
④ 第6行到第8行代码在class1类中定义第二个函数,该函数同样实现返回一个字符串“第二个函数”;
⑤ 第10行代码在MyNs名字空间中嵌套定义一个名字空间childMyNs;
⑥ 第11行代码在该childMyNs名字空间中定义一个childclass1类;
⑦ 第12行到第17行代码同步骤③④一样分别定义了一个函数,实现返回一个字符串。
(2)NspaceFrm.vb的实现
双击窗体,进入该窗体的代码编辑器窗口,在其中添加代码3-2中的代码。
代码3-2 NspaceFrm.vb
01. Imports chapter3.MyNs '引用名字空间MyNs 02. Imports chapter3.MyNs. '引用名字空间MyNs的嵌套名字空间childMyNs 03. Public Class NspaceFrm 04. Private Sub NspaceFrm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 05. Dim c1 As New class1 06. Me.TextBox1.Text = c1.fun1 07. Dim c2 As New class1 08. Me.TextBox2.Text = c2.fun2 09. Dim cn1 As New childclass1 10. Me.TextBox3.Text = cn1.fun3 11. Dim cn2 As New childclass1 12. Me.TextBox4.Text = cn2.fun4 13. End Sub 14. End Class
代码3-2执行步骤如下:
① 第1行代码引用项目中的名字空间MyNs;
② 第2行代码引用项目中名字空间MyNs的嵌套名字空间childMyNs;
③ 第5行代码实例化MyNs名字空间中的类class1,第6行代码调用该类中的第一个函数将其返回的值显示在Textbox1上。第7行和第8行代码同理;
④ 第9行代码实例化MyNs名字空间的嵌套名字空间childMyNs中的childclass1类,第10行代码调用该类中的函数,将其返回值显示在窗体上。第11行和第12行代码同理。
4.运行结果
按F5键,运行程序,结果如图3-1所示。
图3-1 实例3-1运行结果