自定义类是值语义对象(栈上构造,赋值拷贝),与 .yt 结构体、扩展句柄类(HTTP类 等)都不同。
怎么新建
- 工程树 → 源代码 → 右键 → 新建类文件
- 输入名称(可省略
.ypp) - 一个文件一个类,类名必须与文件名(不含扩展名)一致
保存后,工程内任意 .yc 自动可用,无需导入。
.ypp 写法
类 我的类 {
文本 名字 = "小花"
整数 年龄 = 0
方法 构造() { 年龄 = 1 }
方法 析构() { }
方法 问好(文本 name) 文本 {
返回("你好," + name)
}
}
类 猫 : 动物 {
文本 名字 = "小花"
方法 构造() { 年龄 = 1 }
}
- 成员属性写在方法外;方法内是局部变量
- 继承用英文半角
: - 编辑器右键「添加方法」或 Ctrl+Q 插入带
/// @说明的方法模板
.yc 用法
我的类 对象1 = 我的类()
对象1.名字 = "小白"
输出(对象1.问好("小花"))
猫 喵喵 = 猫()
输出(喵喵.名字)
输出(到文本(喵喵.年龄))
喵喵.说话()
规则速查
| 规则 | 说明 |
|---|---|
| 文件 | .ypp 只放类,不要写顶层 函数 / 主函数 |
| 命名 | 类名 = 文件名 |
| 语义 | 值语义;赋值拷贝 |
| 继承 | 单继承;字段/方法可沿基类查找 |
与第三方 DLL
用类封装第三方 DLL 的写法见 third-party-dll.md。