Welcome

首页 / 软件开发 / VB.NET / VB.NET之旅(五)—类的继承

VB.NET之旅(五)—类的继承2012-09-01 Microsoft.com 韩睿“类的继承?”大李点点头,“以前很多人批评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  End Class