最新下载
热门教程
- 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
相关文章
- 明末渊虚之羽在哪里获取头陀的回响 头陀回响获取方法 07-30
- 2025年全球十大加密货币交易平台App排名 最新交易所榜单推荐 07-30
- 剑星战斗思路是什么 战斗思路分享 07-30
- Twinstake 推出 ETH 质押「启动与退出计算机」 07-30
- 燕云十六声寄棺主无伤怎么通关 鬼神愁无伤逃课打法攻略 07-30
- 明末渊虚之羽铜灯盏在哪里获取 铜灯盏获得方法介绍 07-30