上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
实例3-5 创建和引用共享成员
该实例实现步骤如下。
1 创建模块
在本章的项目chapter3下,右键单击该项目名下面的文件夹“类及对象”,在弹出菜单中选择“添加”→“模块”菜单命令,在弹出的对话框中输入模块名称ShareModule,单击“添加”按钮完成模块的创建。
2 添加代码
双击ShareModule.vb进入该模块的代码编辑窗口,向其中添加代码3-10中的代码。
代码3-10 ShareModule.vb
01. Module ShareModule 02. Public Class Item '定义类Item 03. Public Shared Count As Integer = 1 '定义一个共享字段Count 04. Public Shared Sub ShareMethod() '声明一个共享方法 05. Console.WriteLine("Current value of Count: " & Count) 06. End Sub 07. Public Sub New(ByVal Name As String) '声明该类的构造函数 08. Me.SerialNumber = Count 09. Me.Name = Name 10. Count += 1 11. End Sub 12. Public SerialNumber As Integer 13. Public Name As String 14. Public Sub InstanceMethod() '显示输出Count的值和构造函数的参数值 15. Console.WriteLine("Information in the first object: " & _ 16. Me.SerialNumber & Chr(9) & Me.Name) 17. End Sub 18. End Class 19. Sub main() 20. ' 创建Item类的两个实例 21. Dim part1 As New Item("keyboard") 22. Dim part2 As New Item("monitor") 23. part1.InstanceMethod() 24. part2.InstanceMethod() 25. Item.ShareMethod() 26. End Sub 27. End Module
代码3-10执行的步骤如下:
① 第2行到第18行代码定义了类Item;
② 第3行代码定义一个共享字段Count,用于记录Item类实例被创建次数;
③ 第4行到第6行代码声明一个共享方法,显示当前Count的值;
④ 第7 行到第11 行代码声明该类的构造函数,获得Count的值和参数值,并将Count的值加1;
⑤ 第14行到第17行代码声明一个方法InstanceMethod(),用于显示输出Count的值和构造函数的参数值;
⑥ 第21行和第22行代码创建Item类的两个实例;
⑦ 第23行和第24行代码分别用上面定义的两个实例来调用类的InstanceMethod()方法;
⑧ 第25行代码直接调用类的共享方法ShareMethod()。
3 运行结果
按F5键,运行程序,结果如图3-6所示。
图3-6 实例3-5运行结果
3.3.5 类的封装、继承和多态性
1.封装
通过封装,能够隐藏类中的属性和方法实际的实现过程。其最终的目标是能够给用户接口提供一系列必须执行的语句,而隐藏了幕后的细节。这样修改代码不会影响,或者不修改前端的应用程序。
下面以实例说明类的封装性。