首页 >> 读书频道 >> 电脑 >> VB.NET面向对象的实现(六)
 
· 让窗口一直在上面
· VB.NET面向对象的实
· VB.NET面向对象的实
· VB.NET面向对象的实
· VB.NET面向对象的实
· VB.NET面向对象的实
· 用VB制作屏幕保护程序
· VB中随机图像的魅力
· 在vb中如何创建闪烁标语
· VB编程中窗体的控制技巧
· 用VB制作下雪的特技景象
· 五彩缤纷的清屏效果
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

VB.NET面向对象的实现(六)


查看有无更新版本

关键字:VB 2006-9-18

 

继承

阻止继承

在缺省状态下,我们创建的任何类都是作为一个基类使用的,而其它的类是有这个基类创建而来的。有时当我们想创建一个类,而这个子类不能被继承。为了做到这一点,我们可以在类的声明中使用NotInheritable关键字。
Public NotInheritable Class ProductLineEnd Class

当使用了这个关键字,其它代码都不能使用Inherits关键字来创建一个由这个类继承而来的子类。继承和辖域

当我们通过继承来创建一个子类的时候,新类就可以从父类中得到了所有的Public(公共)和Friend(友)方法、属性和变量。如果你在父类中声明一个Private(私有)的方法、属性和变量,那么在新的子类中就不能得到这个类的方法、属性和变量。
当然也有个例外,就是New方法。构造函数方法必须在每一个子类中重新编写。这个内容我们在本教程的后面将深入讨论。
举个例子,我们可能从LineItem类中重写Amount方法,具体如下:
Public Function Amount() As Single
Return CalcAmount
End Function

Private Function CalcAmount() As Single
Return fQuantity * fPrice
End Function 从这个改变中,我们可以看到公共的方法Amount使用了Private方法来工作。
当我们利用LineItem来创建子类ServiceLine的时候,任何的ServiceLine对象都有一个Amount方法,因为它在基类中声明为Public。另外一方面,这个CalcAmount方法被声明为Private,所以所有的ServiceLine类和任何的客户代码都不能访问它。
这里值得一提的是,既然Amount方法存在于LineItem类中,它就可以访问CalcAmount方法即使在ServiceLine类中不能看到这个方法。
举个例子,在我们的客户代码中我们可以这样做:
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim sl As ServiceLinesl = New ServiceLine()
sl.Item = delivery sl.Price = 20
sl.DateProvided = Now
MsgBox(sl.Amount, MsgBoxStyle.Information, amount)End Sub

结果显示在一个消息框中,这样就阐明了CalcAmount方法被成功调用了,虽然客户代码和ServiceLine代码没有直接调用它。Protected(保护)方法

有时,Public和Private并不能满足我们的要求。如果我们想声明一些变量或者方法为Private,那么这些变量和方法就只能在我们的类中使用;但是当我们声明一些变量和方法为Public或者Friend,那么这些变量和方法就可以在子类和客户代码中使用。但是,有时有声明一些变量和方法,让它们在子类中有效,而在客户代码中不能用,该怎么办呢?这里可以使用Protected辖域。当变量或者方法被声明为Protected的时候,对于任何类外部的代码将不能调用,但是还是可以被由它继承而来的子类调用。
举个例子吧,如下:
Public Class ParentClass
Protected TheValue As Integer
End ClassPublic Class SubClass
Inherits ParentClass

Public Function GetValue() As Integer
Return TheValue
End Function
End Class

在上面的代码中我们有一个父类,它有一个Protected成员变量TheValue。这个变量在任何的客户代码中都不能被调用。但是这个变量对于任何的子类都是有效的因为它继承了这个父类。在这个例子中,SubClass有一个Public方法返回了Protected变量的数值,但是这个变量对于类的外部任何客户代码都是无效的。

VB.NET面向对象的实现(六)

[ 1 ]
VB.NET面向对象的实现(六) num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑