第二十七章 Classes - 引用其他类成员

2023-09-14 07:31:27

第二十七章 Classes - 引用其他类成员

引用其他类成员

在方法中,使用下面的语法来引用其他类成员:

  • 要引用ObjectScript中的参数,使用如下表达式:
 ..#PARAMETERNAME

只能使用ObjectScript直接访问参数。要从Python访问参数,请使用ObjectScript包装器方法返回参数,并在需要时调用此方法。例如:

Class User.Employee Extends %RegisteredObject
{

Parameter ADDRESS = "123 Main St.";

ClassMethod AddressWrapper() As %String [ Language = objectscript ]
{
    return ..#ADDRESS
}

ClassMethod OfficeLocation() [ Language = python ]
{
    import iris
    location=iris.cls("User.Employee").AddressWrapper()
    print("This office is located at", location)
}

Method EmployeeLocation() [ Language = python ]
{
    location=self.AddressWrapper()
    print("This employee works at", location)
}

}

要从Python访问一个类方法,可以在所有上下文中使用iris.cls("Package.Class"). classmethodname()语法。在Python实例方法中,还可以使用更短的self.classMethodName()语法。

提供的类中,按照惯例,所有参数都以大写字母定义,但代码不需要这样做。

  • 要引用另一个实例方法,使用这样的表达式:
 ..methodname(arguments)
self.methodname(arguments)

注意,不能在类方法中使用此语法来引用实例方法。

  • 要引用另一个类方法,请使用以下语法:
 ..classmethodname(arguments)
# technique 1
iris.cls("Package.Class").classmethodname(arguments)

# technique 2
iris.cls(__name__).classmethodname(arguments)

请注意,不能使用Python self语法访问类方法。相反,可以使用__name__属性来获取当前类的名称,如上面的示例所示。

  • (仅在实例方法中)要引用实例的属性,使用这样的表达式:
 ..PropertyName
self.PropertyName

类似地,要引用对象值属性的属性,使用如下表达式:

 ..PropertyNameA.PropertyNameB
self.PropertyNameA.PropertyNameB

ObjectScript示例中使用的语法称为点语法。

此外,还可以调用对象值属性的实例方法或类方法。例如:

 Do ..PropertyName.MyMethod()
self.PropertyName.MyMethod()
更多推荐

kafka

title:“Kafka”createTime:2022-01-05T11:35:47+08:00updateTime:2022-01-05T11:35:47+08:00draft:falseauthor:“name”tags:[“kafka”]categories:[“install”]description:“测试

【项目经验】:elementui表格中数字汉字排序问题及字符串方法localeCompare()

一.需求表格中数字汉字排序,数字按大小排列,汉字按拼音首字母(A-Z)排序。二.用到的方法第一步:把el-table-column上加上sortable="custom"<el-table-columnprop="date"label="序号"sortable="custom"width="180"></el-tabl

Vue入门简介(带你打开Vue的大门)

目录前言一、Vue简介1.什么是Vue2.Vue的应用场景3.Vue的作用(重要性)4.什么是MVVM模式5.开源库网址二、Vue入门使用1.基础使用步骤1.1引入Vue.js1.2创建Vue实例1.3编写Vue模板1.4数据绑定与指令1.5调用Vue方法和生命周期钩子2.Vue的优势2.1原生代码效果2.2Vue编写

2024届数字IC设计秋招面经-鼎信

背景985硕士,计算机科班,实验室做cpu设计和fpga算法加速,我做处理器安全方向,有项目。投递8.25没有笔试,两轮面试,直接通知下周一面试,草草的准备了下。一面技术面9.4不到半小时问项目和基础知识,当天出结果,第二天安排面试(不确实是技术还是HR)1.自我介绍2.挑一个熟悉的项目介绍下(AES加密算法)3.项目

岭回归与LASSO回归:解析两大经典线性回归方法

文章目录🍋引言🍋岭回归(RidgeRegression)🍋实战---岭回归🍋LASSO回归(LASSORegression)🍋实战---LASSO回归🍋岭回归和LASSO哪个更容易是直线🍋岭回归与LASSO回归的应用🍋L1正则化和L2正则化🍋偏差和方差🍋引言在机器学习和统计建模中,回归分析是一项重要

DPDK环境搭建

(1)虚拟环境:VMware®Workstation16Pro网上随便下载一个也行(2)操作系统:ubuntu-22.04-beta-desktop-amd64.iso下载地址:oldubuntu-releases-releases-22.04安装包下载_开源镜像站-阿里云(3)DPDK版本:22.07下载地址:htt

003-第一代硬件系统环境搭建

第一代硬件系统环境搭建文章目录第一代硬件系统环境搭建项目介绍摘要结构部分电路部分软件部分关键字:Qt、Qml、硬件、系统、搭建项目介绍欢迎来到我们的QML&C++项目!这个项目结合了QML(QtMeta-ObjectLanguage)和C++的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用QML

CocosCreator3.8研究笔记(十七)CocosCreator UI组件(一)

CocosCreator中,用户界面User-interface(UI)组件和2d渲染对象的区别在于2D渲染对象一般只负责将2D对象渲染出来,而UI则更多的承担着用户交互的能力。常用的UI控件可通过添加节点的方式来创建。在层级管理器中点击左上角的+创建节点按钮,然后选择UI来创建所需的UI节点,相应的UI组件便会自动挂

亚马逊商品详情数据接口

亚马逊商品详情数据接口可以用于获取商品详情信息,包括但不限于商品ID、商品标题、商品描述等。这些信息可以用于多种用途,例如:了解商品信息,帮助消费者做出购买决策。整合其他平台或网站的数据,提供全面的商品信息比较。为其他网站或应用程序提供数据支持,例如个性化推荐、搜索引擎优化等。总之,亚马逊商品详情数据接口可以促进商品信

域名解析--nslookup和dig

dig(DomainInformationGroper)dig是一个功能强大且更灵活的DNS查询工具,通常在Linux和macOS等Unix-like操作系统上使用。以下是dig的一些常见用法和区别:查询域名信息digexample.com这将返回与指定域名相关的DNS记录,包括IP地址、MX记录、CNAME记录等。指

【Go 基础篇】Go语言标识符解析:命名的艺术与最佳实践

介绍在计算机编程中,标识符(Identifier)是用来标识程序实体(变量、函数、类型等)的名称。良好的标识符命名可以使代码更加可读、易于维护,也能够提高代码的可理解性和可扩展性。在Go语言(Golang)中,标识符的命名规范和最佳实践对于编写高质量的代码至关重要。本篇博客将深入探讨Go语言中标识符的基本概念、命名规范

热文推荐