第4章vbnet面向对象程序设计内容摘要:

/TD /TR /TABLE /BODY /HTML 程序输出如图 43所示: 3. 方法重载 方法重载允许一个类中有同名的方法存在,即一个类中可以有两个以上的方法取相同的名字。 为了区分这些同名方法,要求方法有不同的参数,要么参数个数不同,要么参数类型不同。 方法重载使用 Overloads修饰符。 动手做: %@page LANGUAGE = vb AutoEventWireup=false% script language=vb runat =server class TestMethod Function square(ByVal x As Integer) As Integer return x * x End Function Function square(ByVal x As Double) As Double return x * x End Function Function square(ByVal x As Decimal) As Decimal return x * x End Function End Class [例 45]()使用方法重载 /script HTML HEAD titleTest Property/title /HEAD BODY TABLE width=100% bordercolor=blue border=1 TR height=25 bgcolor=blue TD align=centerfont color=white程序输出结果/font/TD/TR TR bgcolor=whiteTD % Dim t As new TestMethod() (The squre is amp。 (10) amp。 , amp。 () amp。 , amp。 ()) % /TD /TR /TABLE /BODY /HTML 程序输出如图 44所示: 点评: 该类有三个重载方法 square,用于计算integer、 double和 decimal类型数的平方。 三个方法的区别是参数类型不同。 继承 –继承是面向对象程序设计的一个重要特征,它允许在既有类的基础上创建新类,从而使创建新类的工作变得更加容易。 新类从既有类中继承类成员,同时为了赋予新类以新的特性,可以重新定义或加进新的成员,从而形成类的层次或等级。 一般称被继承的类为基类或父类,而称继承后产生的类为派生类或子类。 1. 派生类的声明 派生类的声明格式为: 属性 类修饰符 Class 派生类类名 Inherits 基类 类体 End Class 在类声明中,通过在类名的后面加上 Inherits和基类名表示继承。 当我们通过继承来创建一个子类的时候,子类就可以从父类中得到了所有的 Public(公共)、Protected(保护)和 Friend(友元)的方法、属性和字段。 但不能得到在父类中声明为 Private(私有)的方法、属性和字段。 有一个例外,就是构造函数,它须在每一个子类中重新编写。 动手做: Public Class Employee Private name As String Private age As Integer Private salary As Single Public Sub New(ByVal n As String, ByVal a As Integer, ByVal s As Single) name = n age = a salary = s End Sub [例 46]()从 [例 41]声明的 Employee类派 生一个新类 Director Public Function GetName() Return name End Function End Class Public Class Director Inherits Employee Private Title As String Sub New(ByVal t As String,ByVal n As String , ByVal a As Integer , ByVal s As Decimal) (n , a , s ) Title = t End Sub Public Function GetTitle() Return Title End Function End Class 点评: 新类继承了基类的成员 name(姓名)、 age(年龄)、 salary(工资),并添加了新的成员 Title(职务),重载了构造函数,添加了方法 GetTitle,以返回职务的值。 2. MyBase关键字 MyBase常用于访问在派生类中被重写或隐藏的基类成员,它有两种基本用法: 1. 指定创建派生类实例时应调用的基类构造函数,用于调用基类的构造函数完成对基类成员的初始化工作; 2. 在派生类中访问基类成员。 如 [例 46]在创建派生类 Director实例时,使用MyBase调用其基类 Employee的构造函数。 3. 隐藏方法 通过使用 Shadows关键字可以使派生类中的方法隐藏基类的同名方法。 例如:父类中有一个方法 Public Sub Display() End Sub 在子类中可以声明 Public Shadows Sub Display() End Sub 方法隐藏父类的 Display方法。 4. 重写方法 通常情况下,派生类从其基类继承方法。 如果继承的属性或方法需要在派生类中有不同的行为,则可以在派生类中重新定义该方法。 以下几个修饰符用于重写方法: Overridable — 允许某个类中的属性或方法在派生类中被重写。 Overrides — 重写基类中定义的 Overridable 属性或方法。 NotOverridable — 防止某个属性或方法在继承类中被重写。 默认情况下, Public 方法为 NotOverridable。 MustOverride — 要求派生类重写属性或方法。 委托与事件 委托 在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。 委托是一个可以对方法进行引用的类。 与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。 这样,委托就等效于一个类型安全函数指针或一个回调,可用于事件处理功能。 它在事件源和接收方之间起到一个媒介作用。 使用委托包含几个步骤:委托声明;委托实例化;委托调用。 下面就详细说明。 委托声明用于定义一个从 类。 其格式为: 属性集 修饰符 delegate 返回值类型。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。