VB6成员变量继承

时间:2017-10-24 00:48:03

标签: variables inheritance vb6 member

我无法继承(公共)变量,让我们说

Public Var As ClassThatIsIndependent

上面的声明不会给自己带来麻烦,但是,如果我继承了持有它的类

Implements BaseClass

我得到错误"对象模块需要为接口"实现变量。我已尝试过这些选项(都在ChildClass中)

Public Var As ClassThatIsIndependent

Public BaseClass_Var As ClassThatIsIndependent

但他们都没有解决问题。还有其他选择我对可能的Set / Get解决方案持开放态度,但是,我更愿意将Var维护为公共变量。

1 个答案:

答案 0 :(得分:7)

根据Visual Basic 6.0程序员指南,多态性,Implementing Properties部分:

  

假设我们通过向Declarations部分添加一个Public变量给Animal类一个Age属性:

Option Explicit
Public Age As Double
     

Tyrannosaur和Flea类的代码模块中的过程下拉列表现在包含用于实现Age属性的属性过程,

     

...

     

使用公共变量实现属性对程序员来说非常方便。在幕后,Visual Basic将该属性实现为一对属性过程。

     

您必须实施这两个程序。通过将值存储在私有数据成员中,可以轻松实现属性过程,如下所示:

Private mdblAge As Double

Private Property Get Animal_Age() As Double
   Animal_Age = mdblAge
End Property

Private Property Let Animal_Age(ByVal RHS As Double)
   mdblAge = RHS
End Property
     

私有数据成员是一个实现细节,因此您必须自己添加它。

即#"公共界面"无论您使用Public变量还是使用Property Get / Let定义它们都完全相同。要在接口中实现属性,您不能使用Public变量方法,需要使用Property Get / Let语法并在您自己的私有变量中处理它的数据存储。