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