美文网首页
第二十七章 Classes - 引用其他类成员

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

作者: Cache技术分享 | 来源:发表于2023-09-13 07:31 被阅读0次

第二十七章 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()

相关文章

  • 第二十一章 Classes

    第二十一章 Classes Classes 类定义并不是 ObjectScript 的正式组成部分。相反,可以在类...

  • C#之interface(接口)

    定义: 接口是指定一组函数成员而不实现成员的引用类型,其他类型-类和接口可以实现接口。 接口是一个引用类型,通过接...

  • C++ 哪几种情况必须用到初始化成员列表

    类的成员是常量成员初始化; 类的成员是对象成员初始化,而该对象没有无参构造函数; 类的成员为引用时。

  • 7.6 类的静态成员

    7.6 类的静态成员 静态成员的特性 静态成员属于类,而不是对象。 类型可以是类对象、指针、引用、常量等。 静态成...

  • Fragment、ViewPager代码剥离为Activity

    一、成员变量 Fragment、ViewPager里的成员变量,分为基本类型、引用类型。基本类型如int,引用类...

  • C++ - 类

    用法1:对象名.成员名 用法2:指针->成员名 用法3:引用名.成员名 成员函数体和类的定义分开写 类的成员函数的...

  • this引用

    this 有三个作用: 使用this调用本类的成员变量 调用本类中的其他方法 调用构造方法 注意: 在类里面,引用...

  • 类 (Classes)

    Dart是一种面向对象的语言,具有类和基于mixin的继承。每个对象都是一个类的实例,所有类都是从Object继承...

  • Classes - 类

    来源于 Ry’s Objective-C Tutorial - RyPress 一个学习Objective-C基础...

  • 内部类

    写在其他类内部的类就是内部类 成员内部类成员内部类就是定义在其他类里面的class,具备单独的构造函数。成员内部类...

网友评论

      本文标题:第二十七章 Classes - 引用其他类成员

      本文链接:https://www.haomeiwen.com/subject/thauvdtx.html