一聚教程网:一个值得你收藏的教程网站

热门教程

Microsoft .NET 中的基类继承 (转自微软MSDN)(续)

时间:2022-07-02 18:07:45 编辑:袖梨 来源:一聚教程网

MyBase 关键字
可以从任一子类使用 MyBase 关键字,以调用基类中的任何属性或方法。即使基类的方法在子类中已被覆盖,您也可以使用该关键字对其进行调用。例如,如果在基类中存在 ReplaceAll 方法,但在子类中该方法已被覆盖,您可以从子类的 ReplaceAll 方法中调用基类的 ReplaceAll 方法。试一试打开 frmLineTest.vb 窗体。
 双击 Replace(替换)以调出单击事件过程。
 在 btnReplace 按钮的单击事件中编写以下代码:Protected Sub btnReplace_Click( _  ByVal sender As Object, _ ByVal e As System.EventArgs) Handles btnReplace.Click    Dim oLine As LineDelim = New LineDelim()          oLine.Delimiter = txtDelim.Text    oLine.Line = txtLine.Text    txtReplace.Text = oLine.ReplaceAll()End Sub
此代码将 Delimiter 属性设置为在示例窗体的 txtDelimiter 文本框中输入的值。然后您可以调用 ReplaceAll 方法,将文本行中的所有空格更改为新的分隔符字符。
 按 F5 键运行该项目。
 单击 Replace(替换)。您将看到,在此按钮旁边的文本框中,句中的每个词之间都有一个逗号。
 覆盖方法
添加 Delimiter 属性后,您可能想更改 LineDelim 类中的 GetWord 方法,以便使用相应的分隔符替代 Line 类使用的单个空格。因为您不一定想更改基类,所以需要覆盖 LineDelim 类中 GetWord 方法的功能。在 LineDelim 类中创建新的 GetWord 方法之前,您需要在 Line 类的 GetWord 方法声明中添加一个关键字。
 在 Solution Explorer(解决方案资源管理器)窗口中,打开 Line.vb 类的代码窗口。
 找到 GetWord 方法的声明(声明不包含参数),如下所示:Public Overloads Function GetWord() As String在函数声明中添加关键字 Overridable,如下所示(没有此关键字,就无法覆盖此方法)。Public Overridable Overloads Function GetWord() As String打开 LineDelim.vb 类,并使用如下代码添加新的 GetWord 方法。Public Overloads Overrides Function GetWord() As String    Dim astrWords() As String          astrWords = MyBase.Line.Split(mstrDelim.ToCharArray())          Return astrWords(0)End Function

热门栏目