Powerbuilder - 如何创建类属性

时间:2011-01-18 22:22:30

标签: powerbuilder

如何为powerbuilder类创建/定义属性?我正在运行PowerBuilder 9并且我一直在使用公共变量之类的属性,但我想知道如何为对象创建/定义PowerBuilder属性。

我的猜测是,在PB 9中,变量/属性的用法和实现非常相似。

2 个答案:

答案 0 :(得分:5)

您可以使用未记录的indirect关键字创建属性。 这是一个article that explains how to use the indirect keyword in PowerBuilder 关于使用未记录的功能的正常警告适用。

答案 1 :(得分:3)

你的意思是属性,例如C#或PHP定义它们,作为accessor/mutator methods的包装器 - 类似这样(在C#中)?

class TimePeriod
{
    private double seconds;

    public double Hours
    {
        get { return seconds / 3600; }
        set { seconds = value * 3600; }
    }
}

编辑:作为pointed out by Hugh Brackett,可以使用未记录的INDIRECT关键字来完成此操作。

执行此操作的经典(记录)方法是编写单独的访问器和mutator方法。对于上面的示例,您可以编写一些Powerbuilder代码,如下所示:

Powerbuilder accessor/mutator code

(或作为来源:

global type uo_timeperiod from nonvisualobject
end type
global uo_timeperiod uo_timeperiod

type variables
private double id_seconds
end variables

forward prototypes
public function double of_get_hours ()
public subroutine of_set_hours (double ad_seconds)
end prototypes

public function double of_get_hours ();
return id_seconds / 3600
end function

public subroutine of_set_hours (double ad_seconds);
id_seconds = ad_seconds * 3600
end subroutine