大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> Microsoft .NET 中的基类继承 (转自微软MSDN)(续)

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

时间: 2021-07-31 作者:daque

mybase 要害字

不妨从任一子类运用 mybase 要害字,以挪用基类中的任何属性或本领。纵然基类的本领在子类中已被掩盖,您也不妨运用该要害字对其举行挪用。比方,即使在基类中生存 replaceall 本领,但在子类中该本领已被掩盖,您不妨从子类的 replaceall 本领中挪用基类的 replaceall 本领。试一试

翻开 frmlinetest.vb 窗体。

双击 replace(替代)以调出单击事变进程。

在 btnreplace 按钮的单击事变中编写以次代码:protected sub btnreplace_click( _byval sender as object, _ byval e as system.eventargs) handles btnreplace.clickdim oline as linedelim = new linedelim()oline.delimiter = txtdelim.textoline.line = txtline.texttxtreplace.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 stringdim astrwords() as stringastrwords = mybase.line.split(mstrdelim.tochararray())return astrwords(0)end function

即使要变动基类中本领的功效,则有需要在因变量证明中增添 overrides 要害字。此刻,linedelim 类中的 getword 本领就不妨运用 delimiter 属性的值来分割句中的词。即使只掩盖个中一个 getword 本领,则代码只能察看这一个本子的本领,而没辙挪用其余本子的 getword 本领。要表露一切本领,您必需掩盖每一个本领,就象您在 linedelim 类中所实行的操纵一律。试一试

按 f5 键运转该名目。

在句中的每个词之间都输出一个逗点,并在 delimiter(分割符)文本框中输出一个逗点。

单击 get word(取词)。 句中的第一个词将出此刻该按钮左右的文本框中。

笼统类

在正文上一局部的示例中,咱们进修了怎样创造 person 东西,这是由于咱们想处置普遍的人。然而您大概会创造,即使不先增添少许一定的动作和/或数据,就没辙运用 person 类实行任何操纵。所以您不妨将 person 类变为笼统类,笼统类仅设置将由子类创造的普遍属性和本领。将 person 类设置为只能被接受的笼统类,而不是在运转时本质创造的东西。从该类接受的每个类(如 employee 类)都将运用一定的功效来创造一切相映的属性和本领。比方,employee 类将创造本质的 print 本领,而 person 类仅设置必需生存 print 本领;person 类中没有与 print 本领关系联的代码。运用笼统类的因为有多种。对于强迫子类安排职员实行运用步调常常所需的一切接口,笼统类特殊有效。您不妨在不妨害存户端运用步调的情景下向子类增添新本领,这是运用接口所没辙实行的;不妨在基类中供给很多默许实行本领,进而缩小子类须要实行的处事量。接口接受

创造笼统类时,请运用要害字 interface 而不是 class。为接口定名,而后设置须要子类实行的一切属性和本领。这是由于基类中没有不妨实行的属性和本领,它只包括普遍数据,而不包括本领。您所创造的不过一个合约,它规则一切运用此接口的子类都必需按照确定的准则。

此刻,请在已创造的名目中增添一个新类。

从 visual studio 菜单中,单击 project(名目),而后单击 add class(增添类)。

在类中增添以次代码:interface personproperty firstname() as stringproperty lastname() as stringsub print()sub talk()end interface

您会创造,您设置属性和子进程的本领与您常常设置那些属性和进程的本领一律。独一的分辨在乎,您没成器它们编写任何代码。此刻来看看怎样在类设置中运用此接口。

在上一办法创造的类文献中增添以次代码:public class employeeimplements personprivate mstrfirstname as stringprivate mstrlastname as stringproperty firstname() as string _ implements person.firstnamegetreturn mstrfirstnameend getsetmstrfirstname = valueend setend propertyproperty lastname() as string _ implements person.lastnamegetreturn mstrlastnameend getsetmstrlastname = valueend setend propertysub print() implements person.print' 在此处增添少许代码end subsub talk() implements person.talk' 在此处增添少许代码end subend class

在 employee 类设置之后的第一条龙是 implements person。此要害字表白您要按照 person 接口中设置的合约。此刻您不妨设置该合约中的一切属性和本领。在每一个 property 语句反面,都必需包括 implements 要害字,而且必需指定接口的称呼和您正在运用的本领/属性的称呼(两个称呼之间有一个点 [.])。visual basic .net 将盯梢每一个接口,在一切接口创造结束之前,您不许编写翻译运用步调。即使要运转代码,则须要创造相映的子进程,由于在上头的示例中那些子进程被保持为空。创造一切子进程后,您就不妨与您常常创造并运用任何其余东西一律,证明并运用新的 employee 东西了。采用要运用的接受典型

有功夫很难确定究竟是运用实行接受仍旧运用接口接受,很多情景下,大概两种接受城市用到,但都只波及第一小学局部。比方,您大概须要在 line 类中增添必需被卧类掩盖的本领设置,在进程设置中运用 mustoverride 要害字即可实行此操纵。public mustoverride sub init()

将此设置增添到类中此后,其效率一致于一个接口。在子类中,必需设置 init 本领,而且该本领必需运用 overrides 要害字。以次是怎样设置 init 本领的示例:public overrides sub init() mstrdelim = " " mstrline = "尝试行"end sub

同样,请记取运用 overrides 要害字。该要害字用来报告编写翻译器此本领将掩盖父类中的 init 本领。

提防: microsoft .net 框架的联机扶助中供给了安排指南,不妨扶助您确定要运用的接受典型。

遏止接受

在某些情景下,您大概不蓄意其余类接受您的类。即使是如许,您不妨运用要害字 notinheritable 来遏止类的接受。public class notinheritable employee ' 类设置end class

visual basic 6.0 此后的新增功效

运用 visual basic .net,您不妨接受 .net 框架包括的一切类。您不妨创造本人的类,使那些类接受现有的类;并经过对代码举行大略变动来增添或简略功效。归纳

正文引见了怎样接受基类,怎样向基类增添其余属性,以及怎样运用 overrides 要害字来替代基类中设置的功效。还引见了运用 mybase 要害字挪用基类中的本领,进而扩充基类的功效。固然接受并不是对一切的运用步调都实用,但即使运用精确,接受将变成一种特殊宏大的东西。对于作家

paul d. sheriff(psheriff@pdsa.com) 是 pdsa, inc. 的一切者。该公司坐落南加利福尼亚州,是一家自设置软硬件开拓和接洽公司。paul 是南加利福尼亚的 msdn 地区总监,著有《paul sheriff teaches visual basic》一书,他为 keystone learning systems 创造了 70 多套对于 visual basic、sql server、.net 和 web 开拓的视频讲义,迩来还将与 ken getz 协作出书一本对于 sams 的书,书名是《asp.net jumpstart》。相关精细消息,请考察 pdsa, inc. 的 web 站点 www.pdsa.com。对于 informant communications group

informant communications group, inc. 是一家潜心于消息本领行业的多媒介公司。它创造于 1990 年,特意从事软硬件开拓出书物、聚会、目次颁布和 web 站点等交易。icg 在美利坚合众国和英国均设有处事处,暂时已变成享有盛誉的媒介和经营销售实质集成商,并以高品质的本领消息满意 it 职员连接延长的需要。© informant communications group 和 microsoft corporation 版权一切。本领编纂:pdsa, inc.

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.