在 Oberon 语言中,对象和类的概念也是类似于其他面向对象编程语言的。
在 Oberon 中,一个“对象”是一个数据结构,通常包含一些变量和方法。这些变量和方法可以封装在一个类定义中,并可以被多个对象实例化使用。例如,可以定义一个数字或字符串对象,在程序中对它们进行操作。
Oberon 中定义类使用 RECORD 或 MODULE 关键字,就像这样:
MODULE MyObject;
TYPE
TObject = POINTER TO TObjectDesc;
TObjectDesc = RECORD
x: INTEGER;
y: INTEGER;
PROCEDURE Move(dx, dy: INTEGER);
END;
PROCEDURE New(): TObject;
END MyObject.
在上面的代码中,定义了一个 TObject 类型,它包含了 x 和 y 两个整数变量,还有一个 Move() 方法用于移动这个对象。
通过创建 TObject 对象可以使用 New() 方法实现,下面是样本代码:
VAR
myObject: TObject;
BEGIN
myObject := MyObject.New();
myObject.x := 100;
myObject.y := 200;
myObject.Move(10, 20);
END.
在上面的代码中,我们实例化了一个 MyObject 类,设置了它的 x 和 y 值,然后调用了它的 Move() 方法来移动它。
总之,在 Oberon 中,对象和类是作为数据结构和方法的封装来实现的。