-
vb.net教程之vb.net继承的规则
vb.net继承的规则
用户可以使用一个新的关键字"Inherts"在一个基本的类的基础上去建立一个新的类,则继承类可以继承,扩充基本类的属性、方法、事件、数据成员和事件处理程序。
vb.net引入以下表述来支持继承的表述:
(1)Inherits表述--用来说明当前的类是继承了哪一个已经存在的类(基本类),Inherits只有在类中才能使用。
(2)NotInheritalbe modifier--防止程序把一个类作为一个基本类。
(3)MustInherit modifier--声明这个类是不能创建的,必须继承下来的,惟一一种可以使用该类的方法就是继承它。
新的继承的类可以重载一些基本的方法,vb.net使用以下这些关键字来控制属性和方法的重载:
(1)Overridable--允许一个属性或者方法在继承类中可以重载。公用的方法的缺省的值为NotOverridable。
(2)Overrides--允许用户重载一个基本类的属性或者是方法。
(3)NotOverridable(缺省)--防止一个属性或方法在继承类中被重载。
(4)MustOverride--当该关键字被使用时,需要继承的类一定要把该属性或方法重载,其中方法的表述只包括Sub,Function或者Property。
注意:其他的描述是不允许的,这里没有End Sub、End Function描述。有MustOverride方法的类必须被声明为MustInherit,公有的方法的缺省值为NotOverridable.
并且关于继承,还有以下准则:
(1)虽然,一个继承类只能够从一个类继承而来,但是它可以产生无数个接口。
(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可以引用包含的类以及它的继承成员,并且能够被用作访问在类中定义的公有的成员,但是不能访问类中的私有成员。
(5)MyClass可以被用作共享成员的限定。
(6)MyClass不能被用在标准模块中。
用户可以使用一个新的关键字"Inherts"在一个基本的类的基础上去建立一个新的类,则继承类可以继承,扩充基本类的属性、方法、事件、数据成员和事件处理程序。
vb.net引入以下表述来支持继承的表述:
(1)Inherits表述--用来说明当前的类是继承了哪一个已经存在的类(基本类),Inherits只有在类中才能使用。
(2)NotInheritalbe modifier--防止程序把一个类作为一个基本类。
(3)MustInherit modifier--声明这个类是不能创建的,必须继承下来的,惟一一种可以使用该类的方法就是继承它。
新的继承的类可以重载一些基本的方法,vb.net使用以下这些关键字来控制属性和方法的重载:
(1)Overridable--允许一个属性或者方法在继承类中可以重载。公用的方法的缺省的值为NotOverridable。
(2)Overrides--允许用户重载一个基本类的属性或者是方法。
(3)NotOverridable(缺省)--防止一个属性或方法在继承类中被重载。
(4)MustOverride--当该关键字被使用时,需要继承的类一定要把该属性或方法重载,其中方法的表述只包括Sub,Function或者Property。
注意:其他的描述是不允许的,这里没有End Sub、End Function描述。有MustOverride方法的类必须被声明为MustInherit,公有的方法的缺省值为NotOverridable.
并且关于继承,还有以下准则:
(1)虽然,一个继承类只能够从一个类继承而来,但是它可以产生无数个接口。
(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可以引用包含的类以及它的继承成员,并且能够被用作访问在类中定义的公有的成员,但是不能访问类中的私有成员。
(5)MyClass可以被用作共享成员的限定。
(6)MyClass不能被用在标准模块中。
栏目列表
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比