static 关键字用于声明静态变量和静态方法。静态变量和方法属于类本身,而不是类的实例。这意味着你可以在没有创建类实例的情况下访问这些变量和方法。

使用 static 变量

静态变量是类级别的变量,所有实例共享同一个静态变量。如果你修改了静态变量的值,所有实例都会看到这个变化。

# MyClass.gd
extends Node

class_name MyClass

# 定义一个静态变量
static var count = 0

func _init():
    # 每次实例化时增加计数
    count += 1

func _ready():
    print("当前实例数量: ", count)
 

使用 static 方法

静态方法是属于类的函数,它们可以在没有类实例的情况下被调用。静态方法不能访问实例变量和实例方法,但可以访问静态变量和其他静态方法。

# MathUtils.gd
extends Node

class_name MathUtils

# 静态方法
static func add(a: int, b: int) -> int:
    return a + b

static func multiply(a: int, b: int) -> int:
    return a * b

注意事项

  1. 访问限制:静态变量和方法只能访问其他静态成员,不能直接访问实例成员。
  2. 内存管理:静态变量和方法存在于类的生命周期内,不会随着实例的销毁而被释放。
  3. 使用场景:静态成员常用于工具类、单例模式或需要共享状态的情况。

使用 static 关键字可以帮助你创建全局状态和工具函数,适用于需要共享数据或功能的场景。通过合理使用静态变量和方法,可以使你的代码更加简洁和高效。

Logo

一站式虚拟内容创作平台,激发创意,赋能创作,进入R空间,遇见同道,让优质作品闪耀发光。​

更多推荐