扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
界面
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关键字后用逗号分隔的列表类组合一系列的执行方法。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者