面向对象中有两个词会经常提到:实例

类,可以理解成对象的模板,同时也是一种 GDScript 中的语法,定义一个类就等于定义了一种对象,但注意,是定义了一对象而不是一个对象。

实例,指的是根据一个类创建出来的对象,是一个切实存在的东西。

例如,某个游戏有一种敌人,它拥有生命值、攻击力、等级这三个属性,刚刚这段描述这个敌人的话就等于是创建了这个敌人的类。现在玩家开始了游戏,面前生成了三只这种敌人,那么这三只敌人就被称为敌人实例。

再例如我们三次元生活中,比如手机,我只说手机这两个字,那么这就是类,因为手机是一东西而不是切实存在的特定物体,但如果我说你的手机,这就是一个切实存在的特定物体,那么你的手机就是一个实例,并且是手机类的实例。

回到 Godot,如果你理解了上面的内容,那么你就知道 $LineEdit 所获取的是一个输入框实例,因为所获取到的这个输入框是场景中切实存在的。

[!tip] 不要弄混节点名和类型

$ 符号后面填写的是节点的名字,这个名字可以在引擎界面左上角的节点列表中修改,如果咱把节点的名字修改成了汉字: 一个输入框,那么代码就需要改成 $一个输入框 才行。

容易弄混的是,Godot 中输入框类的名字也是 LineEdit,记住 $ 符号后面是节点名而不是类名即可。

讲个笑话

面试官问眼前的小伙:

你来介绍一下什么是类。

小伙思考了一下,答道:

本人工作吃苦耐劳,不懂什么是累。