函数

轻语言 中,函数(通常也称为方法)是一段可重用的代码块,用于执行特定的任务。函数可以接受输入参数,并可以返回一个结果。函数是面向对象编程的核心概念之一,用于封装代码逻辑,提高代码的可读性和复用性。

函数的作用

  1. 代码复用:将常用的代码逻辑封装到函数中,避免重复编写相同的代码。

  2. 模块化:将程序分解为多个小模块,每个模块负责一个特定的功能,使代码更易于理解和维护。

  3. 提高可读性:通过函数名描述代码的功能,使代码更易于阅读。

  4. 参数化:通过参数传递数据,使方法更加灵活。

函数的定义

轻语言中,函数的定义包括以下几个部分:

  • 修饰符:如 私有静态 等,用于控制方法的访问权限,轻语言中默认函数的修饰符为公开

  • 返回类型:函数返回的数据类型,如果函数不返回任何值,则可以省略。

  • 函数名:函数的名称,遵循变量标识符命名规则。

  • 参数列表:方法接受的输入参数,用逗号分隔。

  • 函数体:函数中的具体实现代码。

语法,以关键字“函数”定义:

函数 修饰符 函数名(参数列表) 为 返回类型
    ' 函数体

结束 函数

示例:

' 无返回值函数、返回值可省略
函数 输出数据(内容 为 文本型)
    调试输出("内容为:" + 内容)
结束 函数

' 有返回值函数、返回参数值计算结果
函数 计算面积(长 为 整数型,宽 为 整数型) 为 整数型
    返回 长 * 宽
结束 函数

函数的分类

1.无参数函数

函数可以不接收任何参数。

示例:

函数 输出你好()
    调试输出("你好!")
结束 函数

2.带参数函数

函数可以接收多个参数,多个参数之间使用,连接,参数可以是轻语言支持的任意数据类型。

示例:

函数 执行加法运算(参数1 为 整数型,参数2 为 整数型)
    调试输出("加法结果:" + (参数1 + 参数2))
结束 函数

3.有返回值函数

函数可返回指定数据类型的值,如果无需返回任何值,可省略函数头最后面的返回类型。

示例:

函数 执行加法运算(参数1 为 整数型,参数2 为 整数型) 为 整数型
    返回 参数1 + 参数2
结束 函数

4.静态函数

使用修饰词 静态 修饰的函数,静态函数属于类本身,可以在程序全局范围内使用。

示例:

函数 静态 执行加法运算(参数1 为 整数型,参数2 为 整数型) 为 整数型
    返回 参数1 + 参数2
结束 函数

5.私有函数

使用修饰词 私有 修饰的函数,私有函数只能在所属类的内部使用,不能在其它地方使用。

示例:

' 只能在定义的窗口、模块中使用
函数 私有 执行加法运算(参数1 为 整数型,参数2 为 整数型) 为 整数型
    返回 参数1 + 参数2
结束 函数

函数的调用

定义一个函数后,可以在程序中通过函数名调用它。如果函数有返回值,可以将返回值赋给变量或直接使用。

示例(视窗程序):

事件 按钮2.被单击(来源对象 为 对象,事件对象 为 鼠标事件)
    调试输出("执行加法运算:" + 执行加法运算(10,20))
结束 事件

函数 执行加法运算(参数1 为 整数型,参数2 为 整数型) 为 整数型
    返回 参数1 + 参数2
结束 函数

上述代码运行后将输出:

执行加法运算:30

函数的递归

函数可以调用自身,这种调用方式称为递归。递归通常用于解决可以分解为相似子问题的问题。

视窗程序示例(计算阶乘):

函数 计算阶乘(n 为 整数型) 为 整数型
    如果(n == 0 或 n == 1)
        返回 1
    否则
        返回 n * 计算阶乘(n - 1)
    结束 如果
结束 函数

事件 按钮3.被单击(来源对象 为 对象,事件对象 为 鼠标事件)
    调试输出("5 的阶乘为:" + 计算阶乘(5))
结束 事件

上述代码运行后;输出为:

5 的阶乘为:120