vb.net用一个类库封装两个类库,实现选择使用其中的一个类库让两个类都继承同一个“电源设备”抽象类或者实现接口抽象类vb.net,然后用反射来动态读取类库中抽象类vb.net的类 。
接口的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
【抽象类vb.net 抽象类可以实例化】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_colorvbNewLineSpeed: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的控制台程序没有Image类?要给项目添加引用:System.Drawing.dll才能使用Image类 。不过,它是一个抽象类,只能使用它的子类 。
.net中的抽象类和抽象方法,虚方法 详解?如果一个类里面有抽象方法,那么这个类一定是抽象类,所谓抽象方法,也就是只有一个名称定义而已,说白了 , 抽象方法没有实际的行为,只定义了名称 。例子:abstract
public
void
function();//定义了一个名称为function方法名的抽象方法 。另外,如果继承了抽象类 , 那么必须重写抽象类里面的所有抽象方法 。
虚方法,这个是为了给子类继承重写方法而修饰的,也就是如果一个方法是虚方法的话 , 那么子类就可以重写这个方法 。
关于抽象类vb.net和抽象类可以实例化的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- c语言函数怎么返回结构体类型,函数返回结构体,并直接赋值给结构体变量
- ios要比安卓系统好用一点吗,苹果比安卓系统好在哪里
- 什么视频可以更换声音特效,什么视频可以更换声音特效软件
- python列求和函数 python 列求和
- 豫酒如何营销营销,豫酒文化行
- scratch飞行棋游戏,scratch做飞行模拟器
- flutter生成长图,flutter widget生成图片
- Python优良函数 python函数的优点不包括
- unity支持html5,unity支持光追吗