VB.NET编程语言的出现为开发人员带来了非常大的帮助。用户可以使用一个新的关键字"Inherts"在一个基本的类的基础上去建立一个新的类,则继承类可以继承,扩充基本类的属性、方法、事件、数据成员和事件处理程序。#t#
VB.NET继承相关内容概要:
(1)Inherits表述--用来说明当前的类是继承了哪一个已经存在的类(基本类),Inherits只有在类中才能使用。
(2)NotInheritalbe modifier--防止程序把一个类作为一个基本类。
(3)MustInherit modifier--声明这个类是不能创建的,必须继承下来的,惟一一种可以使用该类的方法就是继承它。
新的VB.NET继承的类可以重载一些基本的方法,VB.NET使用以下这些关键字来控制属性和方法的重载:
(1)Overridable--允许一个属性或者方法在继承类中可以重载。公用的方法的缺省的值为NotOverridable。
(2)Overrides--允许用户重载一个基本类的属性或者是方法。
(3)NotOverridable(缺省)--防止一个属性或方法在继承类中被重载。
(4)MustOverride--当该关键字被使用时,需要继承的类一定要把该属性或方法重载,其中方法的表述只包括Sub,Function或者Property。
注意:其他的描述是不允许的,这里没有End Sub、End Function描述。有MustOverride方法的类必须被声明为MustInherit,公有的方法的缺省值为NotOverridable。并且关于继承,还有以下准则:
(1)虽然,一个VB.NET继承类只能够从一个类继承而来,但是它可以产生无数个接口。
(2)一个公有的类不能继承一个friend的或者私有的类,而且一个friend类不能继承一个私有的类。
1.使用Mybase访问基本类的方法
当用户在继承类中重载基本类的方法时,可以使用Mybase调用基本类中的方法,以下的表述将向用户提供关于Mybase的一些更详细的描述。
(1)MyBase是对基本的类和它的继承成员的引用。
(2)在MyBase中限定的一些方法,没有必要在Mybase中再进行定义;它可以间接地在继承类中进行定义,为了使Mybase可以正确地引用和编译,一些基础类必须在引用时包含一个和其参数名称和类型匹配的方法。
(3)Mybase不能用来限定本身,所以下面的描述是错误的:
- MyBase.MyBase.BtnOK_Click()
(4)MyBase是一个关键字。
(5)MyBase不能被用成一个变量或者是过程,或者用在"IS"比较中,MyBase并不是一个真正的对象。
(6)MyBase可以被用作一个共享成员(shared members);这时它是有值的,因为共享成员是可以被shadowed。
(7)MyBase不能在模块中使用。
2.使用MyClass
(1)MyClass允许调用一个可以重载的方法,并且确认调用的是方法里的implementation过程,而不是继承类里的重载的方法,以下的使用方法是合法的,用MyClass在一个类中去限定一个方法,这个方法在基本类里面有定义,但是在这个类中没有这个方法的定义。这种引用和MyBase.Method具有一样的意义。
(2)MyClass是一个关键字。
(3)MyClass不能被用成一个变量,或者是过程,或者用在"Is"比较中,MyClass并不是一个真正的对象。
(4)MyClass可以引用包含的类以及它的VB.NET继承成员,并且能够被用作访问在类中定义的公有的成员,但是不能访问类中的私有成员。
(5)MyClass可以被用作共享成员的限定。
(6)MyClass不能被用在标准模块中。