test: 面向对象的初步示例代码
This commit is contained in:
parent
7b6e9fa3f0
commit
3583e9c67c
@ -1,8 +1,64 @@
|
|||||||
module: Main
|
module: Main
|
||||||
|
// 全局变量,属于整个模块
|
||||||
|
globals:
|
||||||
|
declare c: int = 10
|
||||||
|
|
||||||
|
// 定义 Animal 结构体
|
||||||
|
struct: Animal
|
||||||
|
fields:
|
||||||
|
name: string // 动物名字
|
||||||
|
age: int // 动物年龄
|
||||||
|
end fields
|
||||||
|
|
||||||
|
// 内部私有函数(以下划线开头),拼接输出字符串
|
||||||
|
function: _formatSound
|
||||||
|
returns: string
|
||||||
|
body:
|
||||||
|
return name + " makes some sound (c=" + to_string(c) + ")"
|
||||||
|
end body
|
||||||
|
end function
|
||||||
|
|
||||||
|
// 公共方法,调用 _formatSound 并输出
|
||||||
|
function: sound
|
||||||
|
returns: void
|
||||||
|
body:
|
||||||
|
os.print(_formatSound())
|
||||||
|
end body
|
||||||
|
end function
|
||||||
|
end struct
|
||||||
|
|
||||||
|
// 定义 Dog 结构体,继承 Animal
|
||||||
|
struct: Dog extends Animal
|
||||||
|
fields:
|
||||||
|
breed: string // 狗的品种,例如 Bulldog
|
||||||
|
end fields
|
||||||
|
|
||||||
|
// 重写 _formatSound,让 Dog 有自己的叫声
|
||||||
|
function: _formatSound
|
||||||
|
returns: string
|
||||||
|
body:
|
||||||
|
return name + " the " + breed + " says Woof!"
|
||||||
|
end body
|
||||||
|
end function
|
||||||
|
|
||||||
|
// 重写 sound 方法,输出 Dog 的叫声
|
||||||
|
function: sound
|
||||||
|
returns: void
|
||||||
|
body:
|
||||||
|
os.print(_formatSound())
|
||||||
|
end body
|
||||||
|
end function
|
||||||
|
end struct
|
||||||
|
|
||||||
|
// 程序入口
|
||||||
function: main
|
function: main
|
||||||
returns: void
|
returns: void
|
||||||
body:
|
body:
|
||||||
|
declare d: Dog = new Dog()
|
||||||
|
d.name = "Buddy"
|
||||||
|
d.age = 3
|
||||||
|
d.breed = "Bulldog"
|
||||||
|
d.sound()
|
||||||
end body
|
end body
|
||||||
end function
|
end function
|
||||||
end module
|
end module
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user