创世魂 发表于 2023-4-21 13:20:47

【解决方案】火山视窗中纯中文实现链式调用

本帖最后由 创世魂 于 2023-4-21 13:22 编辑

什么是链式调用?
简单来说就是当前对象连续调用对象内的方法,如下:




计算类.创建 (10).加 (1).减 (6).取值 ()
最终结果:5




火山视窗中纯中文实现链式调用。
其实原理很简单。
直接贴代码:




<火山程序 类型 = "通常" 版本 = 1 />


包 火山.程序 <"">


类 启动类 <公开 基础类 = 窗口程序类 折叠>
{
    变量 主窗口对象 <公开 类型 = 我的主窗口>


    方法 启动方法 <公开 类型 = 整数>
    {
      主窗口对象.创建主窗口 ()
      返回 (1)
    }
}


类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"310, 325\"">
{
    方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      调试输出 (计算类.创建 (10).加 (1).减 (6).取值 ())
      返回 (0)
    }
}


类 计算类 <公开>
{
    变量 当前值 <类型 = 整数>


    方法 创建 <公开 静态 类型 = 计算类>
    参数 初始值 <类型 = 整数>
    {
      变量 计算对象 <类型 = 计算类>
      计算对象.当前值 = 初始值
      返回 (计算对象)
    }


    方法 加 <公开 静态 类型 = 计算类>
    参数 当前对象 <类型 = 计算类>
    参数 被加数 <类型 = 整数>
    {
      当前对象.当前值 = 当前对象.当前值 + 被加数
      返回 (当前对象)
    }


    方法 减 <公开 静态 类型 = 计算类>
    参数 当前对象 <类型 = 计算类>
    参数 减数 <类型 = 整数>
    {
      当前对象.当前值 = 当前对象.当前值 - 减数
      返回 (当前对象)
    }


    方法 取值 <公开 静态 类型 = 文本型>
    参数 当前对象 <类型 = 计算类>
    {
      返回 (到文本 (当前对象.当前值))
    }


    #
}

附加下载源码:
**** Hidden Message *****






创世魂 发表于 2023-4-21 13:23:22

火山安卓中实现原理和视窗是一样的。直接抄即可。

yifan09 发表于 2023-4-21 13:24:44

看看

mylove 发表于 2023-4-21 19:18:30

支持支持

芒g一号 发表于 2023-4-21 20:33:17

感谢分享

alanwoo 发表于 2023-4-21 23:16:03

学习学习

山梦 发表于 2023-4-22 08:17:24

感谢分享感谢分享感谢分享感谢分享

starsoul 发表于 2023-4-22 08:29:32

感谢分享

麒灵 发表于 2023-4-22 08:54:51

学习一下

韦贝贝 发表于 2023-4-23 16:00:52

火山视窗中纯中文实现链式调用
页: [1] 2 3
查看完整版本: 【解决方案】火山视窗中纯中文实现链式调用