递归火山软件开发平台

标题: 【解决方案】火山视窗中纯中文实现链式调用 [打印本页]

作者: 创世魂    时间: 2023-4-21 13:20
标题: 【解决方案】火山视窗中纯中文实现链式调用
本帖最后由 创世魂 于 2023-4-21 13:22 编辑

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




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




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




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


包 火山.程序 <"">


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


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


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


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


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


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


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


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


    #
}

附加下载源码:








作者: 创世魂    时间: 2023-4-21 13:23
火山安卓中实现原理和视窗是一样的。直接抄即可。
作者: yifan09    时间: 2023-4-21 13:24
看看
作者: mylove    时间: 2023-4-21 19:18
支持支持
作者: 芒g一号    时间: 2023-4-21 20:33
感谢分享
作者: alanwoo    时间: 2023-4-21 23:16
学习学习
作者: 山梦    时间: 2023-4-22 08:17
感谢分享感谢分享感谢分享感谢分享
作者: starsoul    时间: 2023-4-22 08:29
感谢分享
作者: 麒灵    时间: 2023-4-22 08:54
学习一下
作者: 韦贝贝    时间: 2023-4-23 16:00
火山视窗中纯中文实现链式调用
作者: matali    时间: 2023-4-24 23:03
支持支持
作者: 君安光电科技    时间: 2023-4-25 08:18
看看~
作者: wyc00    时间: 2023-4-25 13:57
学习一下
作者: myadmin    时间: 2023-4-26 11:13
就是不知道这种方式,会不会更耗资源或是效率低?
作者: 网络注册会员    时间: 2023-4-26 17:53
感谢分享
作者: zlk    时间: 2023-4-26 21:30
火山视窗中纯中文实现链式调用
作者: bkqrj    时间: 2023-5-13 13:42
6666666666666
作者: 东子    时间: 2023-5-20 03:34
1,好好学习天天向上
作者: fan15500    时间: 2023-6-24 17:26
火山视窗中纯中文实现链式调用
作者: Creator    时间: 2023-6-24 17:53
好东西支持下
作者: EHS    时间: 2023-12-1 11:28
附加下载源码
作者: aneng    时间: 2023-12-1 13:20
本帖最后由 aneng 于 2023-12-1 13:51 编辑

fn init {
  println("hello moonbit")
  (123).加(26).乘(23).除(8).减(9).输出()
}
fn 加(self:Int,x:Int) -> Int {
  self+x
}
fn 减(self:Int,x:Int) -> Int {
  self-x
}
fn 乘(self:Int,x:Int) -> Int {
  self*x
}
fn 除(self:Int,x:Int) -> Int {
  self/x
}
fn 输出(self:Int)->Unit{
  println(self)
}


作者: 慕白889    时间: 2024-6-6 03:44
学习学习
作者: adm    时间: 2024-7-12 17:01
涨姿势了
作者: li327065266kun    时间: 2024-7-12 19:36
看看...
作者: 888888    时间: 2024-7-13 21:21
谢谢分享
作者: mamingna    时间: 2024-8-2 18:49
火山视窗中纯中文实现链式调用




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4