通用网络对象 (Universal Network Objects, UNO)

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png

Apache OpenOffice 提供了通用网络对象 (Universal Network Objects, UNO) 形式的编程接口。这是一个面向对象的编程接口,Apache OpenOffice 又将其细分为各种对象,从而确保以程序控制的方式访问 Office 程序包。

由于 Apache OpenOffice Basic 是一种过程编程语言,因此必须在其中添加几种语言结构才能使用 UNO。

要在 Apache OpenOffice Basic 中使用通用网络对象,您需要对关联对象进行变量声明。该声明是使用 Dim 指令完成的(请参见 Apache OpenOffice Basic 语言)。应使用 Object 类型指定来声明对象变量:

Dim Obj As Object

该调用声明了一个名为 Obj 的对象变量。

接下来,必须初始化创建的对象变量,以便能够使用该变量。可以使用 createUnoService 函数完成此操作:

Obj = createUnoService("com.sun.star.frame.Desktop")

此调用将对新建对象的引用赋值给 Obj 变量。com.sun.star.frame.Desktop 类似于一种对象类型,但在 UNO 术语中,将其称为“服务”而不是“类型”。按照 UNO 的定义,Obj 被描述为对支持 com.sun.star.frame.Desktop 服务的对象的引用。因此,Apache OpenOffice Basic 中使用的“服务”术语与其他编程语言中使用的“类型”和“类”术语相对应。

但存在一个主要区别:通用网络对象可以同时支持多种服务。而有些 UNO 服务又支持其他服务,这样,通过一个对象便可提供各种服务。例如,之前提到的基于 com.sun.star.frame.Desktop 服务的对象还可以包括用于加载文档和结束程序的其他服务。

Documentation note.png 在 VBA 中,对象结构是通过其所属的类定义的;而在 Apache OpenOffice Basic 中,对象结构是通过其支持的服务定义的。VBA 对象总是被指定到一个特定的类,而 Apache OpenOffice Basic 对象可以支持多种服务。
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools