正在阅读:VB.NET面向对象的实现(6)界面VB.NET面向对象的实现(6)界面

2004-02-14 09:34 出处:PConline 作者:ZSC 责任编辑:pjl
界面 VB允许我们创建有多个界面的工程。为完成这个我们可以使用Implements关键字。在类要执行一个新界面的时候,我们需要编写代码来执行界面上的每一个方法。当继承提供了一个完美的变化后,我们可能还想在我们的对象中执行多个界面。VB.NET保存了Implements关键字,这就使得界面的概念提高了并且比起VB6来简单多了。 怎样处理界面 VB.NET进入了一个形式化的结构用于定义界面。它改变了用在类中的语法来执行界面,使得代码更加直观和清晰。 界面声明 最直观的改进是引入了一个用于声明界面的正式的语法,它是使用了Interface关键字的,如下: Public Interface MyInterface Event MyEvent() Sub MyMethod() Function MyFunction(ByVal Param1 As Integer) As Integer Property MyProperty() As String End Interface 这种方法比起VB6的更正式。它不仅可以声明子函数、函数和属性方法,而且可以声明事件作为界面的一部分。 重载方法 方法(子函数或者函数)可以使用Overloads关键字来声明。这个用于重载的准则跟前面几个教程中的教程是一样的。每一个重载声明必须有一个特别的参数列表,这依赖于参数的数据类型。 以下的例子正式使用重载方法来声明一个界面: Public Interface MyInterface Overloads Sub MyMethod() Overloads Sub MyMethod(Data As String) Overloads Function MyFunction(ByVal Param1 As Integer) As Integer Overloads Function MyFunction(ByVal Param1 As Single) As Integer End Interface 当一个类使用Implement关键字来执行利用重载方法的界面的时候,类必须执行每一个重载每一个重载方法声明。 执行界面 就象在VB6中,执行一个界面是通过使用Implements关键字来实现的: Public Class TheClass Implements MyInterface End Class 但是在VB6和VB.NET中还是有点区别的。在VB6中,我们执行不同的界面元素是设置为Private方法的。这些方法不直观并且容易使程序员感到困惑。而在VB.NET提供了一个清晰的、简便的语法来执行界面,它的实现是通过应用Implements关键字来完成的。 我们可以在类中简单地标记一个方法作为界面中的特殊方法的执行: Public Sub MyMethod() Implements MyInterface.MyMethod 这样为了执行我们本例子的界面,我们必须编写以下代码: Public Class TheClass Implements MyInterface Public Event MyEvent() Implements MyInterface.MyEvent Public Function MyFunction(ByVal Param1 As Integer) _ As System.Integer Implements OOlib.MyInterface.MyFunction End Function Public Sub MyMethod() Implements OOlib.MyInterface.MyMethod End Sub Public Property MyProperty() As String _ Implements OOlib.MyInterface.MyProperty Get End Get Set End Set End Property End Class 不象在VB6中,当我们执行界面的时候,我们必须执行界面中的所有元素,包括事件、方法以及属性等等。我们可以通过这个界面来创建客户代码以处理我们的对象: Dim obj As MyInterface obj = New Implementer() obj.MyMethod 而VB6中执行界面中的一个方法需要编写如下的代码: Private Sub MyInterface_MyMethod() (此处是执行的代码) End Sub 执行多个界面 一个类中可以有多个执行语句,即执行多个界面。例子如下: Public Interface MyInterface Sub DoSomething() End Interface Public Interface OtherInterface Sub DoWork() End Interface 我们可以构造一个类来执行两个界面,代码如下: Public Class TheClass Implements MyInterface Implements OtherInterface End Class 接下来的例子,我们可以执行DoSomethind方法也可以执行DoWork方法: Private Sub DoSomething() Implements MyInterface.DoSomething (此处是执行的代码) End Sub Private Overloads Sub DoWork() Implements OtherInterface.DoWork (此处是执行的代码) End Sub 或者,如果以上两种方法是作同样的事情,我们可以利用一个方法来执行两个方法: Private Sub DoSomething() _ Implements MyInterface.DoSomething, OtherInterface.DoWork (此处是执行的代码) End Sub 由上面的例子可以看出,我们可以在Implements关键字后用逗号分隔的列表类组合一系列的执行方法。

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品