是否有可能实现进展中的封装4GL ?



我是OO概念的新手。我找到了一些地方,

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

MSDN说,

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

我假设第一个表达式解释了封装的用法,而第二个表达式定义了封装。即使在它更具体到Java之前,这个问题也被提出过,我更愿意看到这个概念在progress 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相关的示例将非常受欢迎,并且已经存在一些很好的答案,可以解释一般的封装。

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

这并不是真正完整的封装定义。这只是应用它的一种方式。MSDN的定义更完整,尽管我认为它应该添加数据,并且对数据的操作被封装在命名空间等编程结构中

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

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

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

相关内容

  • 没有找到相关文章

最新更新