正 文

使用类厂方法来实例化对象


www.7dspace.com  更新日期:2005-12-2 3:11:22  七度空间


在创建组件时,通常需要在创建时提供对象的初始化。例如,某个组件可能需要提供一个客户对象,而该对象需要预先载入客户数据。

在VB.NET中,可以使用构造函数来完成这项工作。但是,这在VB6种是不可行的。在VB6种,这个过程由一个类厂方法来完成,它使你可以控制对象的创建并对其进行初始化。

下面的例子示范了怎样使用类厂方法来创建对象。它也演示了怎样限制对组件的使用,使用户只能通过类厂方法来创建对象。

首先,创建一个ActiveX DLL项目。添加两个类:ClassFactory和Customer。选择ClassFactory并将实例化属性设置为6--GlobalMultiUse。这使组件的用户在不实例化该对象的情况下就可以访问它的方法。

接下来,选择Customer并将实例化属性设置为2--PublicNotCreatable。这使得组件用户可以访问该对象,但不能创建它。

然后,向Customer类加入以下代码:

Option Explicit
Dim strName As String

Friend Sub Initialize(ByVal Name As String)
    strName = Name
End Sub

Public Property Get Name() As String
    Name = strName
End Property

然后向ClassFactory类添加以下代码。这就是创建和初始化Customer对象的类厂方法:

Public Function CreateCustomer() As Customer
    Dim objCustomer As Customer
   
    Set objCustomer = New Customer
    Call objCustomer.Initialize("John Doe")
    Set CreateCustomer = objCustomer
   
    Set objCustomer = Nothing
End Function

要想使用该方法,创建一个新项目并设置对刚才ActiveX DLL项目的引用。向新项目中添加如下代码:

Dim objCustomer As Customer

Set objCustomer = CreateCustomer()
Debug.Print objCustomer.Name
Set objCustomer = Nothing

记住在VB6中使用类厂方法来控制对象的创建和初始化。


上一篇:用.NET的Path类简化普通编程任务
下一篇:正确处理.NET里的错误
作者:  来源:开发者在线 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐