第三十章 Classes - 方法生成器

2023-09-18 08:02:44

[toc]

第三十章 Classes - 方法生成器

方法生成器

方法生成器是类编译器在类编译期间调用的程序。它的输出是该方法的实际运行时实现。方法生成器提供了一种继承方法的方法,可以生成根据继承类或属性的需要定制的高性能、专用代码。在 IRIS 库中,方法生成器广泛用于数据类型和存储类。

Class Queries

类可以包含类查询。类查询定义可由该类使用的 SQL 查询,并指定用作查询容器的类。下面显示了一个示例:

Query QueryName(Parameter As %String) As %SQLQuery
{
SELECT MyProperty, MyOtherProperty FROM MyClass
 WHERE (MyProperty = "Hello" AND MyOtherProperty = :Parameter)
 ORDER BY MyProperty
}

定义类查询以提供预定义的查找以供在应用程序中使用。例如,可以按某些属性(例如按名称)查找实例,或提供满足一组特定条件的实例列表,例如从巴黎到马德里的所有航班。此处显示的示例使用参数,这是提供灵活查询的常用方法。请注意,可以在任何类中定义类查询;不需要在持久类中包含类查询。

扩展数据块 XData Blocks

由于 XML 通常是表示结构化数据的有用方法,因此 类包含一种机制,允许包含格式良好的 XML 文档,以满足可能有的任何需要。为此,需要包含一个 XData 块,它是另一种类成员。

XData 块用于某些特定目的,这些可能会给关于自己的应用程序的想法:

  • IRIS Web 服务和 Web 客户端的 WS-Policy 支持。在这种情况下,XData 块描述了安全策略。
  • 在商业智能中,可以使用 XData 块来定义多维数据集、主题区域、KPI 和其他元素。

类定义中的宏和包含文件

在类定义中,可以在 ObjectScript 方法中定义宏并在该方法中使用它们。然而,更常见的是,在包含文件中定义它们,可以将其包含在任何类定义的开头。例如:

Include (%assert, %callout, %occInclude, %occSAX)

/// Implements an interface to the XSLT Parser. XML contained in a file or binary
/// stream may be transformed
Class %XML.XSLT.Transformer Extends %RegisteredObject ...

然后,该类中的任何 ObjectScript 方法都可以引用该包含文件或其包含的包含文件中定义的任何宏。

宏是继承的。也就是说,子类可以访问与其超类相同的所有宏。

更多推荐

Fast-DDS 服务发现简要概述

阅读本文章需要对DDS基础概念有一些了解,一些内容来自Fast-DDS官方文档,一些是工作中踩过的坑。1.服务发现阶段满足OMG标准的DDS服务发现分为两部分,分别是:PDP(ParticipantDiscoveryProtocol参与者发现协议):参与者确认彼此的存在。参与者会定期发送公告信息,消息包括但不限于参与者

【2023最新Java面试宝典】—— SpringBoot面试题(44道含答案)

1.什么是SpringBoot?SpringBoot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,使开发者能快速上手。2.为什么要用SpringBoot快速开发,快速整合,配置简化、内嵌服务容器3.SpringBoot与Spr

Java并发编程第8讲——ThreadLocal详解

ThreadLocal无论是在项目开发还是面试中都会经常碰到,它的重要性可见一斑,本篇文章就从ThreadLocal的使用、实现原理、核心方法的源码、内存泄漏问题等展开介绍一下。一、什么是ThreadLocalThreadLocal是java.lang下面的一个类,在JDK1.2版本加入,作者是JoshBloch(集合

华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 fio 深度测评华为云云耀云服务器L实例的磁盘性能

本文收录在专栏:#云计算入门与实践-华为云专栏中,本系列博文还在更新中相关华为云云耀云服务器L实例评测文章列表如下:华为云云耀云服务器L实例评测|从零开始:云耀云服务器L实例的全面使用解析指南华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于Geekbench深度测评华为云云耀云服务器L实例的处理器性能华为云云耀

基于STC15单片机-LM35-DS8B20温度测量-DS1302计时-proteus仿真-源程序

一、系统方案1、本设计采用STC15单片机作为主控器。2、DS18B20采集温度值送到液晶1602显示。3、DS1302计时,日期送到液晶1602显示。4、LM35采集另一路温度值送到数码管显示。二、硬件设计原理图如下:三、单片机软件设计1、首先是系统初始化/IO初始化为准双向/voidIO_Init(){P0M0=0

Redis的介绍,安装Redis的方式

🐌个人主页:🐌叶落闲庭💨我的专栏:💨c语言数据结构javaEE操作系统石可破也,而不可夺坚;丹可磨也,而不可夺赤。Redis初识Redis1.1认识Redis1.2安装Redis的方式1.2.1安装Redis依赖1.2.2上传安装包并解压1.2.3启动Redis1.2.3.1默认启动1.2.3.2指定配置启动1

自动化测试:yaml结合ddt实现数据驱动!

在python+unittest+selenium+ddt的框架中,数据驱动常见有以下几种方式实现:Csv/txtExcelYAML本文主要给大家介绍测试数据存储在YAML文件中的使用场景。首先先来简单介绍一下YAML。1.什么是YAML一种标记语言类似YAML,它实质上是一种通用的数据串行化格式,由于其可读性高,用来

安装配置 IDE

目录WebStormSublimeText3安装配置subl快捷命令(OSX)详细过程分解安装PackageControl安装配置主题常用插件Atom插件列表/PluginList推荐配置keymap.csonVisualStudioCode配置按键插件Cursor适合前端、后端、全栈工程师,尤其以Javascript

go-GMP和Scheduler

GPM模型G待执行的goroutine,结构定义在runtime.gM操作系统中的线程,它由操作系统的调度器进行调度和管理,结构定义在runtime.mP处理器,是GM的中间件,它通过一个队列绑定了GM,每个P都有一个局部queue,用来存放待执行的本地goroutineGGoroutine只存在于Go语言的运行时,它

xlnet+bilstm实现菜品正负评价分类

摘要CMU和googlebrain联手推出了bert的改进版xlnet。在这之前也有很多公司对bert进行了优化,包括百度、清华的知识图谱融合,微软在预训练阶段的多任务学习等等,但是这些优化并没有把bert致命缺点进行改进。xlnet作为bert的升级模型,主要在以下三个方面进行了优化采用AR模型替代AE模型,解决ma

Nodejs+vue热门游戏网游推荐网站系统 s5832

热门网游推荐网站综合网络空间开发设计要求。目的是将热门网游推荐将传统管理方式转换为在网上管理,完成热门网游推荐信息管理的方便快捷、安全性高、交易规范做了保障,目标明确。热门网游推荐网站可以将功能划分为管理员功能和用户功能。(1)、管理员关键功能包含系统首页、个人中心、用户管理、科普知识管理、游戏攻略管理、游戏信息管理、

热文推荐