vb.net中的接口 vbnet invoke-成都快上网建站

vb.net中的接口 vbnet invoke

vb.net怎么通过接口调用其它类到这个类中。

dim objEye as IEye = new Eye(); '用接口型引用,new 实现类的对象。

10年积累的成都网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有吉林免费网站建设让你可以放心的选择与我们合作。

messagebox.show(objEye.IEye) '调用属性

VB中的接口是什么?

分类: 电脑/网络 程序设计 其他编程语言

问题描述:

在。NET高级概念中接口是什么啊?有哪个知道啊?

解析:

和类一样,接口也定义了一系列属性、方法和事件。但与类不同的是,接口并不提供实现。它们由类来实现,并从类中被定义为单独的实体。

接口表示一种约定,实现接口的类必须严格按其定义来实现接口的每个方面。

有了接口,就可以将功能定义为一些紧密相关成员的小组。可以在不危害现有代码的情况下,开发接口的增强型实现,从而使兼容性问题最小化。也可以在任何时候通过开发附加接口和实现来添加新的功能。

虽然接口实现可以进化,但接口本身一旦被发布就不能再更改。对已发布的接口进行更改会破坏现有的代码。若把接口视为约定,很明显约定双方都各有其承担的义务。接口的发布者同意不再更改该接口,接口的实现者则同意严格按设计来实现接口。

创建接口

通过为接口添加代码对其进行定义,这些代码以 Interface 关键字及接口名称开始,以 End Interface 语句结束。例如,下面的代码定义了一个名为 IAsset 的接口。

Interface IAsset

End Interface

添加定义接口所支持的属性、方法和事件的语句。例如,下面的代码定义了一个函数、一个属性和一个事件。

Interface IAsset

Event ComittedChange(ByVal Success As Boolean)

Property Division() As String

Function GetID() As Integer

End Interface

实现接口

如果正在实现的接口不是项目的一部分,则添加一个对包含该接口的程序集的引用。

创建实现接口的新类,并将 Implements 关键字加入该类名后面的行中。例如,要实现 IAsset 接口,可以将实现类命名为 Computer,如以下代码所示。

Class Computer

Implements IAsset

End Class

为实现类的属性、方法和事件添加过程,如以下代码所示,该段代码是建立在上一步的示例基础上的:

的:

Class Computer

Implements IAsset

Public Event ComittedChange(ByVal Success As Boolean) _

Implements IAsset.ComittedChange

Private divisionValue As String

Public Property Division() As String _

Implements IAsset.Division

Get

Return divisionValue

End Get

Set(ByVal value As String)

divisionValue = value

RaiseEvent ComittedChange(True)

End Set

End Property

Private IDValue As Integer

Public Function GetID() As Integer _

Implements IAsset.GetID

Return IDValue

End Function

Public Sub New(ByVal Division As String, ByVal ID As Integer)

Me.divisionValue = Division

Me.IDValue = ID

End Sub

End Class

接口的VB.NET( 一款行业软件)接口

在VB.NET的类里,实现一个接口的语句是:

implements接口名称

例如,下面定义一个车(总称)的接口,这里的车是各种车的总称:

Public Interface ICar

Property color() As String

Property speed() As Long

Sub PrintInfo()

End Interface

然后在不同类型的“车”类里实现它:

Public Class A_Car

Implements ICar

Dim m_color As String, m_speed As Long

Public Property color() As String Implements ICar.color

Get

Return m_color

End Get

Set(ByVal Value As String)

m_color = Value

End Set

End Property

Protected Overrides Sub Finalize()

MsgBox(I was deconstructed!)

End Sub

Public Sub New()

m_color = Red

m_speed = 210

MsgBox(I was constructed!)

End Sub

Public Property speed() As Long Implements ICar.speed

Get

Return m_speed

End Get

Set(ByVal Value As Long)

m_speed = speed

End Set

End Property

Public Sub PrintInfo() Implements ICar.PrintInfo

MsgBox(Color: m_color vbNewLine Speed: m_speed, MsgBoxStyle.Information)

End Sub

End Class

在 Form 的 Load 事件中编写:

Dim myCar As New A_Car

myCar.PrintInfo()

运行之后就创建了一个 A_Car 类的实例 myCar,然后出现两个对话框,分别说明实例已经创建和汽车的信息。当窗体卸载时,这个类的实例 myCar 将自动销毁,这时将出现一个“I was deconstructed!”的对话框。

声明一个接口时,需要考虑以下几点:

1.接口主体只限于对方法,索引器以及属性的声明;

2.接口成员是隐式公开的,如果对其显式指定访问级别,就会出现编译器错误;

3.接口中不能包含字段,构造函数和常量等;

4.在接口中不能实现任何方法,属性或者索引器;

5.在指定方法时,只需要给出返回类型,名称和参数列表,然后分号结束。

面向对象的接口

在C++中,一个类被允许继承多个类。但是在Java以后的语言不被允许。

这样,如果想继承多个类时便非常困难。所以开发方想出了新办法:接口。

一个接口内,允许包含变量、常量等一个类所包含的基本内容。但是,接口中的函数不允许设定代码,也就意味着不能把程序入口放到接口里。由上可以理解到,接口是专门被继承的。接口存在的意义也是被继承。和C++里的抽象类里的纯虚函数是相同的。不能被实例化。

定义接口的关键字是interface,例如:

publicinterfaceMyInterface{

public void add(int x,int y);

public void volume(int x,int y,int z);

}

继承接口的关键字是implements,相当于继承类的extends。

需要注意的是,当继承一个接口时,接口里的所有函数必须全部被覆盖。例如:

class Demo implements MyInterface{

public void add(int x,int y){

System.out.println( +(x+y));

}

public void volume(int x,int y,int z){

System.out.println( +(x*y*z));

}

public static void main(String args[]){

Demo d=new Demo();

d.add(10,20);

d.volume(10,10,10);

}

}

输出结果:

30

1000

当想继承多个类时,开发程序不允许,报错。这样就要用到接口。因为接口允许多重继承(,),而类不允许。所以就要用到接口。

vb.net中的接口会不会多余

接口可以实现的是多态性,类似抽象类,需要在具体的类中实现,在具体的类中实现

定义周长接口的目的是为了把"周长接口"作为一自定义函数的参数

下面图片是一个求面积的接口例子,一看就明白了(重点看画圈的地方)


文章题目:vb.net中的接口 vbnet invoke
分享链接:http://kswjz.com/article/doihjed.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流