Oberon-2编程入门与面向对象

指尖流年 2019-08-31 ⋅ 21 阅读

简介

Oberon-2是一种基于面向对象编程的高级编程语言,它是由Niklaus Wirth于1991年设计的。Oberon-2是Pascal语言的继承者,它在Pascal语言的基础上添加了许多面向对象编程的特性。

本文将介绍Oberon-2的基本语法和面向对象编程的基本概念,帮助初学者入门Oberon-2编程。

基本语法

变量声明

使用VAR关键字声明变量。

VAR
   age: INTEGER;
   name: STRING;

函数声明

使用PROCEDURE关键字声明函数。

PROCEDURE Hello;
BEGIN
   WriteLn("Hello, World!");
END.

控制结构

Oberon-2支持常见的控制结构,如条件语句和循环语句。

  • 条件语句
IF age > 18 THEN
   WriteLn("You are an adult.");
ELSE
   WriteLn("You are a teenager.");
END;
  • 循环语句
FOR i := 1 TO 10 DO
   WriteLn(i);
END;

数组

Oberon-2支持数组,可以使用ARRAY关键字声明。

VAR
   numbers: ARRAY 1..10 OF INTEGER;

类型定义

可以使用TYPE关键字定义自定义类型。

TYPE
   Person = RECORD
      name: STRING;
      age: INTEGER;
   END;

模块化

Oberon-2支持模块化编程,可以使用MODULEIMPORT关键字来定义模块和导入其他模块。

MODULE HelloWorld;

IMPORT WriteLn;

PROCEDURE Hello;
BEGIN
   WriteLn("Hello, World!");
END;

BEGIN
   Hello;
END HelloWorld.

面向对象编程

Oberon-2是一种面向对象的编程语言,它支持封装、继承和多态。

封装

Oberon-2中可以使用模块和类型来实现封装。

MODULE PersonModule;

TYPE
   Person = OBJECT

      VAR
         name: STRING;
         age: INTEGER;

      PROCEDURE SetName(newName: STRING);
      BEGIN
         name := newName;
      END;

      PROCEDURE GetName(): STRING;
      BEGIN
         RETURN name;
      END;

   END;

END PersonModule.

继承

Oberon-2支持单继承,可以通过INHERIT关键字来实现。

MODULE EmployeeModule;

IMPORT PersonModule;

TYPE
   Employee = OBJECT(Person)

      VAR
         salary: REAL;

      PROCEDURE SetSalary(newSalary: REAL);
      BEGIN
         salary := newSalary;
      END;

      PROCEDURE GetSalary(): REAL;
      BEGIN
         RETURN salary;
      END;

   END;

END EmployeeModule.

多态

Oberon-2支持多态,可以通过方法重写来实现。

MODULE Main;

IMPORT WriteLn, EmployeeModule;

PROCEDURE PrintEmployeeInfo(employee: EmployeeModule.Employee);
BEGIN
   WriteLn("Name: ", employee.GetName());
   WriteLn("Age: ", employee.age);
   WriteLn("Salary: ", employee.GetSalary());
END;

VAR
   john: EmployeeModule.Employee;

BEGIN
   john := EmployeeModule.Employee.Create();
   john.SetName("John Doe");
   john.age := 30;
   john.SetSalary(1000.0);

   PrintEmployeeInfo(john);
END Main.

结语

本文介绍了Oberon-2的基本语法和面向对象编程的基本概念。希望通过本文的介绍,读者能够对Oberon-2编程有一个初步的了解,并能够使用Oberon-2进行简单的面向对象编程。如有更多需求,请参考Oberon-2的官方文档或相关教程。Happy coding!


全部评论: 0

    我有话说: