是否有可能实现Encapsulation in Progress 4GL?

时间:2014-05-21 14:44:53

标签: encapsulation progress-4gl

我是OO概念的菜鸟。我找到了一些地方,

  

封装是从客户端隐藏对象并通过方法调用它们。

MSDN说,

  

封装意味着将一组相关的属性,方法和其他成员视为单个单元或对象。

我假设第一个表达式解释了封装的用法,而后者定义了封装。 即使这是一个问题,在它更具体的Java之前提出了一个问题,我更倾向于在Progess 4GL上看到这个概念的用法示例。 我最近了解了Progress 4GL的OO功能,下面是我发现的一个示例类。

CLASS [<package>.]<class-name>
     [INHERITS <super-type-name> ] 
   [IMPLEMENTS <interface-type-name>
             [,<interface-type-name>]…] 
   [ FINAL ]:

    [ <data member> …]
    [ <constructor> ]
    [ <method> … ]
    [ <destructor> ]

END [ CLASS ]. 

与Progress 4GL相关的示例将受到高度赞赏,并且已经存在一些解释封装的好答案。

2 个答案:

答案 0 :(得分:2)

  

封装是从客户端隐藏对象并通过方法调用它们

这不是封装的完全定义。这只是应用它的一种方式。 MSDN 的定义更完整,但我认为它应该在 class 数据并对数据上的操作进行封装 >命名空间

我猜你没有得到这个想法,因为,第一个定义可以来自第二个,更完整的定义。封装意味着打包数据,属性,方法操作数据等,以便数据的内部隐藏来自客户端,因此客户端只通过暴露的接口对数据进行操作(这部分是第一个定义所说的)。

答案 1 :(得分:0)

MSDN定义更合适。前者更接近抽象的定义。

然而,这些术语显然是相关的,因为在封装它们时更容易抽象出来。