打印本文 打印本文 关闭窗口 关闭窗口
Henry的VB.NET之旅(五)—类的继承
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1377  更新时间:2009/4/23 19:01:31  文章录入:mintao  责任编辑:mintao

              Henry的VB.NET之旅(五)—类的继承

                                        韩睿

 

“类的继承?”大李点点头,“以前很多人批评VB的功能不完善时,都会加上这个条件。但是现在VB.NET中已经是比较完善的面向对象编程方法了。刚才我们也提到过,类与 VB.NET 的结构类似,让我们可以定义封装一组相关项的数据类型。然而与结构的一个重要区别就是,VB.NET 类可以继承和扩展其他类的特性。作为新类的基础的类称为‘基类’。从基类派生的类称为‘派生类’。派生类继承基类中定义的所有字段、属性、方法和事件。你看,我们只要对类进行一次开发和调试,就可以将其作为其他类的基础重复使用。”

“类的继承的概念我学过的,在VB.NET中是如何来实际演练呢?”我还是坚持着问。

“我写段代码给你看一下吧,俗话不是说,百闻不如一见吗?”大李调侃了两句,噼噼啪啪地开始敲打起键盘来:

Public Class CBaseHenry

    Private x As Integer = 10

    Protected y As Integer

    Sub New()

       Console.WriteLine("基类的构造")

    End Sub

    Protected Overrides Sub Finalize()

       Console.WriteLine("基类的析构")

     MyBase.Finalize()

    End Sub

Public Overridable Function GetY(ByVal x As Integer) As Integer

    Me.y = me.x + x  ‘private类型的me.x只能在基类中使用

        Console.WriteLine("基类的GetY方法,结果为:" & Me.y)

        Return Me.y

    End Function

    Public Sub OldY()

        Console.WriteLine("基类的OldY方法")

End Sub

End Class

 

“你看,这是一个基类,我再给你写个继承自该类的派生类。”他一边说一边继续写:

Public Class CDerivedHenry

    Inherits CBaseHenry

    Sub New()

       MyBase.New() ‘注意:这句话要放在sub内的第一句

       Console.WriteLine("派生类的构造")

    End Sub

    Protected Overrides Sub Finalize()

       Console.WriteLine("派生类的析构")

       MyBase.Finalize()

    End Sub

    Public Overrides Function GetY(ByVal x As Integer) As Integer

       Me.y = x * 10 ‘protected类型的me.y却可以在派生类中使用

       Console.WriteLine("派生类的GetY方法,结果为:" & Me.y)

       Return Me.y

    End Function

    Public Sub NewY()

        Console.WriteLine("派生类的新方法")

    End Sub

[1] [2]  下一页

打印本文 打印本文 关闭窗口 关闭窗口