递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 10191|回复: 26
打印 上一主题 下一主题

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

[复制链接]

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40529
跳转到指定楼层
楼主
发表于 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)
    }
}


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


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


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


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


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


    #
}

附加下载源码:
游客,如果您要查看本帖隐藏内容请回复







安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

1

主题

59

帖子

1865

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1865
27#
发表于 2024-8-2 18:49:21 | 只看该作者
火山视窗中纯中文实现链式调用
回复

使用道具 举报

2

主题

152

帖子

2568

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2568
26#
发表于 2024-7-13 21:21:15 | 只看该作者
谢谢分享
回复

使用道具 举报

53

主题

389

帖子

2410

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2410
25#
发表于 2024-7-12 19:36:55 | 只看该作者
看看...
回复

使用道具 举报

22

主题

165

帖子

1169

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1169
24#
发表于 2024-7-12 17:01:03 | 只看该作者
涨姿势了
回复

使用道具 举报

0

主题

12

帖子

94

积分

注册会员

Rank: 2

积分
94
23#
发表于 2024-6-6 03:44:32 | 只看该作者
学习学习
回复

使用道具 举报

12

主题

57

帖子

356

积分

中级会员

Rank: 3Rank: 3

积分
356
22#
发表于 2023-12-1 13:20:43 | 只看该作者
本帖最后由 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)
}

回复

使用道具 举报

0

主题

97

帖子

1183

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1183
21#
发表于 2023-12-1 11:28:07 | 只看该作者
附加下载源码
回复

使用道具 举报

27

主题

145

帖子

1945

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1945
20#
发表于 2023-6-24 17:53:06 | 只看该作者
好东西支持下
回复

使用道具 举报

11

主题

116

帖子

636

积分

高级会员

Rank: 4

积分
636
19#
发表于 2023-6-24 17:26:34 | 只看该作者
火山视窗中纯中文实现链式调用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 20:57 , Processed in 0.100249 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表