EXPRESS语言:标识符作用域解析

需积分: 50 56 下载量 113 浏览量 更新于2024-08-08 收藏 1.41MB PDF 举报
"零基础学odoo12实施项目(进销存),标识符的作用域,STEP EXPRESS,EXPRESS语言参考手册" 在编程语言中,标识符的作用域是至关重要的概念,尤其是在学习Odoo12这样的企业级应用开发时。 Odoo12是一个基于Python和EXTJS的开源企业管理软件,它允许开发者使用类似EXPRESS的数据库建模语言来定义业务对象。了解标识符的作用域可以帮助开发者更好地组织代码,避免命名冲突,并确保正确地访问和使用变量、函数和其他编程元素。 EXPRESS是一种标准化的数据建模语言,广泛应用于产品生命周期管理(PLM)系统。在EXPRESS中,标识符的声明和作用域遵循一定的规则: 1. **标识符声明**:标识符用于识别模式中的实体(Entity)、函数(Function)、过程(Procedure)、规则(Rule)和模式(Schema)。一旦声明,这些标识符在其声明的作用域内有效。 2. **作用域定义**:标识符的作用域是一个包含声明它的代码块(block)。例如,一个在模式s1中声明的实体e1,只能在s1内部被引用,不能在s1之外的其他模式中直接使用,除非通过REFERENCE或USE接口规范。 3. **块与子块**:根据作用域规则a),标识符的作用域包括声明它的块及其所有子块。如果在父块P中声明的标识符i在子块Q中被重新声明,那么在P中声明的i在Q及其子块内不可见,遵循规则b)。 4. **全局与局部**:标准的常量、函数、过程和EXPRESS类型被认为是在全局(universe)作用域中声明的,可以被任何模式引用。用户定义的标识符可以在不同块(上下文)中重声明,但同一块内不允许重声明,除非是属性(Attribute)在实体的子类中。 5. **可见性**:标识符在其声明的作用域内可见,外部不可见。要访问其他模式中的声明,需要使用REFERENCE和USE接口规范。这允许在不同模式之间共享和交互信息。 6. **属性重声明**:在实体内声明的属性可以在该实体的子类中重新声明,这是标识符重声明的一个特例。 7. **EXPRESS语言元素**:包括字符集、保留字、标识符、常数、数据类型、声明语句和块结构等。理解这些基本元素是掌握EXPRESS语言的关键。 例如,数据类型包括简单的NUMBER、INTEGER、REAL、LOGICAL、BOOLEAN、BINARY和STRING,以及复杂的数组(ARRAY)、包(BAG)、表(LIST)和集合(SET)等。实体(Entity)用于定义业务对象,包含属性(Attributes)、局部规则(LocalRules)和可能的超类与子类关系。 在编写Odoo12模型或扩展时,理解标识符的作用域可以帮助开发者有效地组织代码,避免命名冲突,确保数据的准确性和程序的可维护性。同时,通过恰当使用REFERENCE和USE接口规范,开发者可以构建模块化和可扩展的应用,实现跨模块的数据交互。