【问题标题】:Powerbuilder - How to create Class PropertiesPowerbuilder - 如何创建类属性
【发布时间】:2011-01-21 22:42:10
【问题描述】:

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

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

【问题讨论】:

  • 您能否澄清您在“属性”中寻找的内容,如果“公共变量”是指公共访问实例变量,它们是如何不足的。如果我们了解您的需求,我们更有可能提供帮助。 (至少对这个概念很模糊。)

标签: powerbuilder


【解决方案1】:

您可以使用未记录的indirect 关键字创建属性。 这是article that explains how to use the indirect keyword in PowerBuilder 使用未记录功能的一般注意事项适用。

【讨论】:

  • 谢谢,我从来不知道它存在!
【解决方案2】:

您的意思是指属性,例如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 关键字来完成。

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

(或作为来源:

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

)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    相关资源
    最近更新 更多