游泳

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

2019-10-16 22:53:38来源:励志吧0次阅读

界面

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关键字后用逗号分隔的列表类组合一系列的执行方法。

泉州整形美容
亳州治疗妇科医院
抚顺白癜风医院
张家口治疗龟头炎医院
晋中治疗子宫内膜炎医院
分享到: