是比较麻烦。但是也有不少优点。 由于VB使用的是接口继承。所以如果要模拟实现继承的话,就必须使用聚合的方法。另外接口继承很难模拟C++中的继承传递。不过由于是接口继承所以很容易做到代码的二进制兼容,而且多重继承不会出现概念和混乱。至于多态性可以这样表现。 假设CBase是一个基类接口,包含一个someMothed的方法。 Cdiv1和Cdiv2都实现CBase以下代码: dim a as CBase set a=new CDiv1 a.somemethod 'DIV1的方法 set a=new CDiv2 a.somemethod 'DIV2的方法如果你将a作为参数传递给操作函数,在操作函数中使用基类的方法就能够表现出多态性。
由于VB使用的是接口继承。所以如果要模拟实现继承的话,就必须使用聚合的方法。另外接口继承很难模拟C++中的继承传递。不过由于是接口继承所以很容易做到代码的二进制兼容,而且多重继承不会出现概念和混乱。至于多态性可以这样表现。
假设CBase是一个基类接口,包含一个someMothed的方法。
Cdiv1和Cdiv2都实现CBase以下代码:
dim a as CBase
set a=new CDiv1
a.somemethod 'DIV1的方法
set a=new CDiv2
a.somemethod 'DIV2的方法如果你将a作为参数传递给操作函数,在操作函数中使用基类的方法就能够表现出多态性。