扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Paul D. Sheriff 来源:化境编程界 2007年11月5日
关键字:
要创建窗体,请单击 Project(项目),然后单击 Add Windows Form(添加 Windows 窗体)。
将窗体命名为 frmLineTest.vb 并单击 OK(确定)。
然后在该窗体上创建相应的控件并设置属性。
构建 Line 类
接下来将构建要继承的 Line 类。
从菜单中单击 Project(项目),然后单击 Add Class(添加类)。
键入如下所示的代码。
Public Class Line Private mstrLine As String Property Line() As String Get Return mstrLine End Get Set(ByVal Value As String) mstrLine = Value End Set End Property ReadOnly Property Length() As Integer Get Return mstrLine.Length End Get End Property Public Function GetWord() As String Dim astrWords() As String astrWords = mstrLine.Split(" ".ToCharArray()) Return astrWords(0) End Function End Class |
创建子类
既然窗体和基类都已经创建完毕,现在便可以开始执行继承了。
单击 Project(项目),然后单击 Add Class(添加类)。将该类命名为 LineDelim.vb 并单击 OK(确定)。
添加新类时,请修改 Visual Basic .NET 所创建的代码,使之与下面的示例代码相似。
Public Class LineDelim End Class |
因为添加了 Inherits Line 语句,所以您可以在这一新创建的类中使用 Line 类的所有属性和方法。
试一试
打开 frmLineTest.vb 窗体。
双击 Get Word(取词)按钮。
向此按钮的单击事件过程添加以下代码:
Protected Sub btnFirst_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles btnFirst.Click |
运行项目,并在窗体上单击 Get Word(取词)按钮。您将看到“The”一字出现在按钮旁边的只读文本框中。
Inherits 语句的功能非常强大,只需要使用这一个语句,就可以在 LineDelim 类中使用 Line 类的所有属性和方法。尽管这个新类尚未执行任何新的操作,但它却表明从 Line 类中继承的所有代码都可以正常工作。
添加其他功能
现在,您可以使用其他属性和方法对 LineDelim 类进行扩展。要向 LineDelim 类添加两个新的属性,请执行以下步骤。
在上一部分添加的 Inherits 语句后添加两个 Private 变量,如下所示。
Private mstrDelim As String = " " Private mstrOriginal As String |
键入如下代码,为这两个 Private 变量添加适当的 Property 语句。您可以将以下代码放在上面输入的两行代码后面(紧挨这两行)。
Public Property Delimiter() As String Get Return mstrDelim End Get Set(ByVal Value As String) mstrDelim = Value End Set End Property Public ReadOnly Property OriginalLine() As String Get Return mstrOriginal End Get End Property |
现在您可以使用 Delimiter 属性设置并获取 Private 变量 mstrDelim 的值。
如果不希望其他人更改这些属性,您可以将属性设为只读。要执行此操作,请不再使用 Set 语句,并在 Property 语句中添加 ReadOnly 属性。有关示例,请参见上面代码中显示的 OriginalLine 属性声明。
接下来,需要创建一个称为 ReplaceAll 的方法,此方法可以将文本行中的所有空格替换为传递到 Delimiter 属性中的分隔符字符。
Public Function ReplaceAll() As String mstrOriginal = MyBase.Line Return MyBase.Line.Replace(" ", mstrDelim.ToChar()) End Function |
ReplaceAll 方法通过基类的 Line 方法检索原始文本行。而以前从基类中检索属性时使用的是 MyBase.Line 语法。ReplaceAll 函数将 MyBase.Line 属性的值放入您刚刚为该类创建的 Private 变量 mstrOriginal 中。String 数据类型的 Replace 方法将字符串字符的所有实例替换为在 Delimiter 属性中设置的新分隔符字符 mstrDelim。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者