vb.net接口继承 vba 类继承( 五 )


Interface PersonProperty FirstName() As StringProperty LastName() As String
Sub Print()Sub Talk()End Interface
您会发现 您定义属性和子过程的方法与您通常定义这些属性和过程的方法一样 唯一的差别在于 您没有为它们编写任何代码 现在来看看如何在类定义中使用此接口
在上一步骤创建的类文件中添加以下代码
Public Class EmployeeImplements PersonPrivate mstrFirstName As StringPrivate mstrLastName As StringProperty FirstName() As String _Implements Person FirstNameGetReturn mstrFirstNameEnd GetSetmstrFirstName = ValueEnd SetEnd PropertyProperty LastName() As String _Implements Person LastNameGetReturn mstrLastNameEnd GetSetmstrLastName = ValueEnd SetEnd PropertySub Print() Implements Person Print 在此处添加一些代码 End Sub
Sub Talk() Implements Person Talk 在此处添加一些代码End SubEnd Class
在 Employee 类定义之后的第一行是 Implements Person 此关键字表示您要遵守 Person 接口中定义的合约 现在您可以定义该合约中的所有属性和方法 在每一个 Property 语句后面 都必须包含 Implements 关键字 并且必须指定接口的名称和您正在使用的方法/属性的名称(两个名称之间有一个点 [ ]) Visual 将跟踪每一个接口 在所有接口创建完毕之前 您不能编译应用程序 如果要运行代码 则需要创建相应的子过程 因为在上面的示例中这些子过程被保留为空 创建所有子过程后 您就可以与您通常创建并使用任何其他对象一样 声明并使用新的 Employee 对象了
选择要使用的继承类型 有时候很难决定到底是使用实现继承还是使用接口继承 很多情况下 可能两种继承都会用到 但都只涉及一小部分 例如 您可能需要在 Line 类中添加必须被子类覆盖的方法定义 在过程定义中使用 MustOverride 关键字即可实现此操作
Public MustOverride Sub Init()将此定义添加到类中以后 其作用类似于一个接口 在子类中 必须定义 Init 方法 并且该方法必须使用 Overrides 关键字 以下是如何定义 Init 方法的示例
Public Overrides Sub Init()mstrDelim = mstrLine = 测试行 End Sub同样 请记住使用 Overrides 关键字 该关键字用于通知编译器此方法将覆盖父类中的 Init 方法
注意 Microsoft NET 框架的联机帮助中提供了设计指南 可以帮助您决定要使用的继承类型 阻止继承在某些情况下 您可能不希望其他类继承您的类 如果是这样 您可以使用关键字 NotInheritable 来阻止类的继承
Public Class NotInheritable Employee 类定义End ClassVisual Basic 以来的新增功能
使用 Visual Basic NET 您可以继承 NET 框架包含的所有类 您可以创建自己的类 使这些类继承现有的类 并通过对代码进行简单更改来添加或删除功能
lishixinzhi/Article/program/net/201311/11397
vb.net和vb编程的区别vb.net是完全面向对象的语言vb.net接口继承 , 支持面向对象的四个基本属性:抽象,继承vb.net接口继承 , 多态vb.net接口继承,封装,但vb是面向过程的语言,它只支持部分面向对象的内容像多态,接口等 。从 VB 7.0 之后的版本俗称 VB.NET,来源于微软的.NET战略,到现在为止有三个版本
VB 7.0 即VB 2002,对应.NET Framework 1.0的版本
VB 7.1 即VB 2003,对应.NET Framework 1.1的版本
VB 8.0 即VB 2005,对应.NET Framework 2.0的版本
除vb.net接口继承了语法和使用习惯的继承 , VB 6.0之前的版本和VB 7.0之后的版本完全没有联系 , 几乎没有相同之处,两种不同体系的语言
c++里继承的三种实现形式:实现继承、可视继承、接口继承实现继承
class A{
public:
int calc(int a,int b){
return a+b;
}
}
class B : A
这时候,我们可以理解为B继承了A的calc的实现 。

推荐阅读