·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
您现在的位置:天新网 > 软件开发 > .Net开发 > VB.NET
Visual Basic 和 Visual C# 概念--抽象类
http://dev.21tx.com 2004年12月17日 微软技术网站

抽象类与接口紧密相关,它们不能示例化,并且常常部分实现或根本不实现。抽象类和接口之间的一个主要差别是:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承。从抽象类派生的类仍可实现接口。可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定实现之后才实现其他方法。抽象类也制定版本,因为如果在派生类中需要附加功能,则可以将其添加到基类而不中断代码。


在 Visual Basic 中,抽象类用 MustInherit 关键字表示。在 C# 中,则使用 abstract 修饰符。任何所谓不变的方法都可以编码至基类中,但在 Visual Basic 中,任何要实现的方法都用 MustOverride 修饰符标记。在 C# 中,这些方法标记为 abstract。下例显示了一个抽象类:


'' Visual Basic
Public MustInherit Class WashingMachine
Sub New()
'' Code to instantiate the class goes here.
End sub
Public MustOverride Sub Wash
Public MustOverride Sub Rinse (loadSize as Integer)
Public MustOverride Function Spin (speed as Integer) as Long
End Class


// C#
abstract class WashingMachine
{
public WashingMachine()
{
// Code to initialize the class goes here.
}


abstract public void Wash();
abstract public void Rinse(int loadSize);
abstract public long Spin(int speed);
}
在上面的示例中,用一个已实现的方法和三个未实现的方法声明抽象类。从该类继承的类必须实现 Wash、Rinse 和 Spin 方法。下例显示了该类实现的可能形式:


'' Visual Basic
Public Class MyWashingMachine
Inherits WashingMachine
Public Overrides Sub Wash()
'' Wash code goes here
End Sub
Public Overrides Sub Rinse (loadSize as Integer)
'' Rinse code goes here
End Sub
Public Overrides Function Spin (speed as Integer) as Long
'' Spin code goes here
End Sub
End Class


// C#
class MyWashingMachine : WashingMachine
{
public MyWashingMachine()
{
// Initialization code goes here.
}


override public void Wash()
{
// Wash code goes here.
}


override public void Rinse(int loadSize)
{
// Rinse code goes here.
}


override public long Spin(int speed)
{
// Spin code goes here.
}
}
在实现抽象类时,必须实现该类中的每一个抽象 (MustOverride) 方法,而每个已实现的方法必须和抽象类中指定的方法一样,接收相同数目和类型的参数,具有同样的返回值。

上一篇: VB.NET/ASP.NET编码规范
下一篇: VB.Net 开发的长内容自动分页功能

相关内容
Google
 
热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
晨新科技 版权所有 Created by TXSite.net