科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Microsoft .NET 中的基类继承

Microsoft .NET 中的基类继承

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了继承,说明了如何继承基类,并且介绍了 Microsoft .NET 中的实现继承和接口继承......

作者: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
Inherits Line

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
Dim oLine As LineDelim = New LineDelim()

oLine.Line = txtLine.Text
txtFirstWord.Text = oLine.GetWord()
End Sub

  运行项目,并在窗体上单击 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。

    • 评论
    • 分享微博
    • 分享邮件
    闂傚倸鍊搁崐鎼佸磹妞嬪孩顐介柨鐔哄Т閻骞栧ǎ顒€濡肩紒鎰殜閺岋繝宕堕埡浣锋睏闂佸搫顑呴柊锝夊蓟閺囷紕鐤€閻庯綆浜炴禒鐐節濞堝灝鐏犻柕鍫熸倐瀵寮撮敍鍕澑闁诲函缍嗘禍鏍磻閹捐鍐€妞ゆ挶鍔庣粙蹇涙⒑鐠恒劌娅愰柟鍑ゆ嫹

    婵犵數濮烽弫鍛婃叏閻戝鈧倹绂掔€n亞鍔﹀銈嗗坊閸嬫捇鏌涢悢閿嬪仴闁糕斁鍋撳銈嗗坊閸嬫挾绱撳鍜冭含妤犵偛鍟灒閻犲洩灏欑粣鐐烘⒑瑜版帒浜伴柛鎾寸洴閹儳煤椤忓應鎷洪梻鍌氱墛閸楁洟宕奸妷銉ф煣濠电姴锕ょ€氼參宕h箛鏃傜瘈濠电姴鍊绘晶娑㈡煕鐎c劌濡介柕鍥у瀵粙濡歌閳ь剚甯¢弻鐔兼寠婢跺﹥娈婚梺鍝勭灱閸犳牠骞冨⿰鍫濈厸闁稿本绋撹ぐ瀣煟鎼淬値娼愭繛鍙壝悾婵堢矙鐠恒劍娈鹃梺鍓插亝濞叉牠鎮″☉銏$厱閻忕偛澧介惌瀣箾閸喐鍊愭慨濠勭帛閹峰懐绮电€n亝鐣伴梻浣规偠閸斿宕¢崘鑼殾闁靛繈鍊曢崘鈧銈嗗姂閸庡崬鐨梻鍌欑劍鐎笛呯矙閹寸姭鍋撳鐓庡籍鐎规洑鍗冲畷鍗炍熼梹鎰泿闂備線娼ч悧鍡涘箠鎼淬垺鍙忔い鎺嗗亾闁宠鍨块崺銉╁幢濡炲墽鍑规繝鐢靛О閸ㄦ椽鏁嬮柧鑽ゅ仦娣囧﹪濡堕崨顔兼闂佺ǹ顑呴崐鍦崲濞戙垹骞㈡俊顖濐嚙绾板秹鏌f惔銏e妞わ妇鏁诲璇差吋閸偅顎囬梻浣告啞閹搁箖宕版惔顭戞晪闁挎繂顦介弫鍡椼€掑顒婂姛闁活厽顨嗙换娑㈠箻閺夋垹鍔伴梺绋款儐閹瑰洭寮婚敐鍛婵炲棙鍔曠壕鎶芥⒑閸濆嫭婀扮紒瀣灴閸╃偤骞嬮敃鈧婵囥亜閺囩偞鍣洪柍璇诧功缁辨捇宕掑▎鎴濆濡炪們鍔岄幊姗€骞嗗畝鍕<闁绘劙娼х粊锕傛煙閸忚偐鏆橀柛鏂跨焸閹偤宕归鐘辩盎闂佸湱鍎ら崹鐢割敂閳哄懏鍊垫慨姗嗗墻濡插綊鏌曢崶褍顏€殿喕绮欐俊姝岊槼闁革絻鍎崇槐鎾存媴缁涘娈┑鈽嗗亝缁诲牆顕f繝姘亜缁炬媽椴搁弲锝夋偡濠婂啰效闁诡喗锕㈤幊鐘活敆閸屾粣绱查梺鍝勵槸閻楀嫰宕濇惔锝囦笉闁绘劗鍎ら悡娑㈡倶閻愯泛袚闁哥姵锕㈤弻鈩冩媴閻熸澘顫掗悗瑙勬礈閸犳牠銆佸鈧幃鈺呮惞椤愩倝鎷婚梻鍌氬€峰ù鍥х暦閸偅鍙忛柟鎯板Г閳锋梻鈧箍鍎遍ˇ顖炲垂閸岀偞鐓㈡俊顖滃皑缁辨岸鏌ㄥ┑鍡╂Ц缂佲偓鐎n偁浜滈柡宥冨妿閳藉绻涢崼鐔虹煉婵﹨娅e☉鐢稿川椤斾勘鈧劕顪冮妶搴′簼婵炶尙鍠栧畷娲焵椤掍降浜滈柟鍝勬娴滈箖姊洪幐搴㈢┛濠碘€虫搐鍗遍柟鐗堟緲缁秹鏌涢锝囩畼妞ゆ挻妞藉铏圭磼濡搫顫岄悗娈垮櫘閸撴瑨鐏冮梺鍛婁緱閸犳岸宕㈤幖浣光拺闁告挻褰冩禍浠嬫煕鐎n亜顏柟顔斤耿閺佸啴宕掑☉姘箞闂佽鍑界紞鍡涘磻閸℃ɑ娅犳い鎺戝€荤壕濂告煕鐏炲墽鈽夌紒妞﹀洦鐓欓柣鐔告緲椤忣參鏌熼悡搴㈣础闁瑰弶鎸冲畷鐔兼濞戞瑦鐝¢梻鍌氬€搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍌氫壕婵ê宕崢瀵糕偓瑙勬礀缂嶅﹪寮婚崱妤婂悑闁告侗鍨界槐閬嶆煟鎼达紕鐣柛搴ㄤ憾钘濆ù鍏兼綑绾捐法鈧箍鍎遍ˇ浼存偂閺囥垺鐓涢柛銉e劚婵$厧顭胯閸ㄤ即婀侀梺缁樓圭粔顕€顢旈崼鐔虹暢闂傚倷鐒︾€笛呮崲閸屾娑樜旈崨顓犲幒闂佸搫娲㈤崹娲偂閸愵亝鍠愭繝濠傜墕缁€鍫熸叏濡寧纭鹃柦鍐枛閺屾洘绻涜鐎氱兘宕戦妸鈺傗拺缂備焦锚婵洦銇勯弴銊ュ籍闁糕斂鍨藉鎾閳ユ枼鍋撻悽鍛婄叆婵犻潧妫楅埀顒傛嚀閳诲秹宕堕妸锝勭盎闂婎偄娲︾粙鎰板箟妤e啯鐓涢悘鐐靛亾缁€瀣偓瑙勬礋娴滃爼銆佸鈧幃銏$附婢跺澶�

    重磅专题
    往期文章
    最新文章