当前位置:首页 > 网络编程 > 软件语言 > .NET > VB.Net中文教程(9) 重新定义(Overriding)程序

VB.Net中文教程(9) 重新定义(Overriding)程序

点击次数:48 次 发布日期:2008-11-06 08:07:33 作者:源代码网
源代码网推荐
广告载入中
主题: 重新定义(Overriding)程序
源代码网推荐
源代码网推荐
源代码网推荐?????????? 内容 ??????????
源代码网推荐v 1. 重新定义程序
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐1. 重新定义(Override)程序
源代码网推荐
源代码网推荐 在应用上﹐常见如下之情况﹕子类别从父类别继承之程序﹐并不合乎子类别之需要。此时可设计新程序取代之。
源代码网推荐
源代码网推荐
源代码网推荐 图1、程序成员之重新定义
源代码网推荐
源代码网推荐 例如﹐SalesPerson类别含有Bonus()程序﹔SalesManager由 SalesPerson继承而得Bonus()程序。Bonus()能计算销售人员之红利。然而﹐一般销售员与销售经理之红利计算方法不同﹔所以﹐SalesPerson之Bonus()显然并不适用于SalesManager。这SalesManager类别必须定义适用的Bonus()求算销售经理之红利。子类别不满意继承之程序而自行定义程序取代之﹐此情形称为「再定义」(Redefinition)或「重新定义」(Overriding)。自行定义程序与继承程序之名称相同。请看个程序﹕
源代码网推荐
源代码网推荐"ex01.bas
源代码网推荐Imports System.ComponentModel
源代码网推荐Imports System.Drawing
源代码网推荐Imports System.WinForms
源代码网推荐"-----------------------------------------------------------------------------------------


源代码网推荐Class SalesPerson
源代码网推荐 Protected totalSales As Double
源代码网推荐 Public Sub New(ByVal t As Double)
源代码网推荐 totalSales = t
源代码网推荐 End Sub
源代码网推荐 Public Overridable Function Bonus() As Double
源代码网推荐 Bonus = totalSales * 0.008
源代码网推荐 End Function
源代码网推荐End Class
源代码网推荐
源代码网推荐Class SalesManager
源代码网推荐 Inherits SalesPerson
源代码网推荐 Public Sub New(ByVal t As Double)
源代码网推荐 MyBase.New(t)
源代码网推荐 End Sub
源代码网推荐 Public Overrides Function Bonus() As Double
源代码网推荐 Bonus = totalSales * 0.008 1000
源代码网推荐 End Function
源代码网推荐End Class
源代码网推荐"----------------------------------------------------------------------------------------
源代码网推荐Public Class Form1
源代码网推荐 Inherits System.WinForms.Form
源代码网推荐
源代码网推荐 Public Sub New()
源代码网推荐 MyBase.New()
源代码网推荐 Form1 = Me
源代码网推荐 "This call is required by the Win Form Designer.
源代码网推荐 InitializeComponent()
源代码网推荐 "TODO: Add any initialization after the InitializeComponent() call
源代码网推荐 End Sub 软件开发网 www.mscto.com
源代码网推荐 "Form overrides dispose to clean up the component list.
源代码网推荐 Public Overrides Sub Dispose()
源代码网推荐 MyBase.Dispose()
源代码网推荐 components.Dispose()
源代码网推荐 End Sub
源代码网推荐#Region " Windows Form Designer generated code "
源代码网推荐 .......
源代码网推荐#End Region
源代码网推荐 Protected Sub Form1_Click( ByVal sender As Object, ByVal
源代码网推荐 e As System.EventArgs)
源代码网推荐 Dim Jim As New SalesPerson(50000)
源代码网推荐 Messagebox.Show("Jim"s Bonus: " str(Jim.Bonus()))
源代码网推荐 Dim Tom As New SalesManager(45000)
源代码网推荐 Messagebox.Show("Tom"s Bonus: " str(Tom.Bonus()))
源代码网推荐 End Sub
源代码网推荐End Class
源代码网推荐
源代码网推荐此程序输出如下﹕ Jim"s bonus: 400
源代码网推荐 Tom"s bonus: 1360
源代码网推荐
源代码网推荐 因Jim为SalesPerson类别之对象﹐则Jim.Bonus()所指的是SalesPerson之Bonus()程序。SalesManager类别继承此Bonus()﹐且自己定义新的Bonus()程序。此新程序取代了继承之程序。因之﹐Alvin.Bonus()是指SalesManager自己定义之Bonus()程序。

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华