最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
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
可以从任一子类使用 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
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21