📅  最后修改于: 2023-12-03 15:19:49.190000             🧑  作者: Mango
Rexx是一门通用的解释型编程语言,它被设计为人们能够更轻松地编写和维护程序。Rexx采用了面向对象编程(OOP)的概念。本文将介绍Rexx的面向对象编程。
在Rexx中,类是一种用户定义的数据类型。类是一个结构,其中包含属性和方法,程序员可以在类中定义这些属性和方法。对象是类的一个实例。对象包含了该类中定义的所有属性和方法。程序员可以在程序中创建对象,访问对象的属性和方法来执行任务。
要定义一个类,我们需要使用**::class**关键字并给类设置一个名称。定义类的结构可以像下面这样:
myClass::class
-- 属性定义
fields:
-- 方法定义
methods:
定义属性很简单,只需在类中使用关键字Attribute和属性名称来定义即可。例如,定义一个名称为myAttribute的属性可以这样写:
myClass::class
fields:
myAttribute Attribute
methods:
定义方法也很简单,只需在类中使用关键字Method和方法名称来定义即可。例如,定义一个名称为myMethod,没有参数的方法可以这样写:
myClass::class
fields:
methods:
myMethod Method
expose
-- 方法实现
return
要创建一个类的对象,需要使用new方法,并将变量分配给新对象。例如,创建一个名为object1的新对象可以这样写:
object1 = myClass~new
创建对象后,可以通过对象访问属性和方法。例如,访问myAttribute属性可以这样写:
object1~myAttribute = "Hello World"
要调用myMethod方法,可以这样写:
object1~myMethod
下面是一个完整的Rexx程序,该程序创建一个类MyClass,该类具有属性myAttribute和方法myMethod。它创建两个MyClass对象,并访问它们的属性和方法。
/* 定义类MyClass */
MyClass::class
fields:
myAttribute Attribute
methods:
myMethod Method
expose
say "Executing MyMethod"
return
/* 创建两个MyClass对象 */
object1 = MyClass~new
object2 = MyClass~new
/* 访问属性和方法 */
object1~myAttribute = "Hello World"
object1~myMethod
object2~myAttribute = "Goodbye"
输出:
Executing MyMethod