基于.NET 4面向对象编程高级主题(一):类的继承及方法重写.docVIP

基于.NET 4面向对象编程高级主题(一):类的继承及方法重写.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于.NET 4面向对象编程高级主题(一)类的继承与方法重写 继承(Inheritance) Visual Basic.NET 支持“继承”,这是一种定义作为派生类(Derivation Class)基础的类的能力。派生类继承并可扩展基类的属性(Property)、方法(Method)和事件(Event)。派生类还可以用新的实现重写继承的方法。默认情况下,用 Visual Basic .NET创建的所有类都是可继承的。 继承使您得以只编写和调试类一次,然后将该代码作为新类的基础不断重复使用。继承还使您得以使用基于继承的多态性(Polymorphism),这是一种定义如下类的能力:这些类可由客户端代码在运行时交换使用,但具有功能不同而名称相同的方法或属性。 ? 通俗的说,继承就是子承父业,假设定义一个Father类作为基类(父类),然后定义一个子类(派生类)Son,在Son这个类中添加以下突出显示的代码:(Code 1) End Class? 这时候,就会发现Son是从父类Father里面继承下来的,假设Father有Sport,EditProgram这两个方法,以及Tall这个属性,那么子类同样包含了父类所具备的Sport,EditProgram这两个方法,以及Tall这个属性,但是这些方法和属性可以在子类中进行重写(Overridable) 我们在设计Windows应用程序(Application)窗体的时候,Visual Studio会自动创建一个空白的窗体,而这个窗体则是从Form类中继承下来的,如果打开名字为Form1的空白Windows窗体设计视图的Design文件,则会发现以下突出显示的代码:(Code 2) Partial Class Form1 ??Inherits System.Windows.Forms.Formde ??System.Diagnostics.DebuggerNonUserCode() _di ??Protected Overrides Sub Dispose(ByVal disposing As Boolean),以 ????Trycted ??????If disposing AndAlso components IsNot Nothing Thenlean), ????????components.Dispose()omponent ??????End Ifonents ????Finallyfone ??????MyBase.Dispose(disposing)onents ????End Trye.Di ??End Subry ??Private components As System.ComponentModel.IContainerle ??System.Diagnostics.DebuggerStepThrough() _IC ??Private Sub InitializeComponent()hr ????components = New System.ComponentModel.Container()erle ????Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font以及Ta ????Me.Text = Form1= Sy ??End Subxt End Class 重写(Overridable) 通常,派生类继承基类的方法,因此在调用对象(Object)继承方法的时候,调用和执行的是基类的实现。但是,有时需要对派生类中的继承方法有不同的实现。例如,假设动物类存在“跑”的方法,从中派生出马和狗,马和狗的跑得形态是各不相同的,因此同样方法需要两种不同的实现,这就需要“重新编写”基类中的方法。 “重写”基类方法就是修改它的实现或者说在派生类中重新编写。 重写方法通常使用Overridable关键字来修饰并说明,指定属性或过程可由派生类中同名的属性或过程进行重写,比如说存在两个类Father和Son,Son继承于Father,Father类中存在一个方法Sport,其详细代码突出显示如下:(Code 3) ? ? …… End Class 现在从Father类继承下来的Son中,我们假设Son不喜欢Sport,则我们可以修改这个从Father类继承的方法:(Code 4) ? ? …… End Class 当然,我们也可以重写系统方法,通常,系统方法(System Method)是受保护(Protected)的,这时,我们就要添加Protected修饰符进行声明。假设我们要重写RichTextBox控件的Copy()这个方法,则重写方法的代码如下:(Code 5) ? ? My.Com

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档