递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

模板基础类、模板实现类和模板类型之简单理解和运用

[复制链接]

9

主题

30

帖子

220

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
220
QQ
跳转到指定楼层
楼主
发表于 2019-4-16 17:23:30 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 zye7504 于 2019-4-16 17:36 编辑

       火山安卓平台很多的名词术语显得很晦涩,不能望词生义,比如模板基础类、模板实现类和模板类型数据,经仔细学习文档,并在群里面问火伴老师,对这三个东东有了浅显的理解,并做了一个简单应用,技术含量没有,权当记录自己的学习过程,并和小白们一起学习进步。
       一、关于模板基础类、模板实现类,从名字和代码来看,有点像抽象类和继承抽象的子类,后经询问企鹅老师,才知这是火山特有的概念,与抽象类无关,仅用于火山内部编译使用。
       二、关于模板类型1到模板类型8,我开始以为相当于java和.net中的泛型类,经企鹅老师指点,不能作泛型理解。权当作可替换的数据类型理解。
       根据以上两点,我做了一个简单的数学运算模板类例程如下:
       第一步:建立一个“数学运算类”,将其设为模板基础类,模板基础类只能用作模板实现类或其它模板基础类的基础类,或者在该类内部使用,除此之外不能在其它任何场合使用,只有在模板基础类中才能使用模板类型.如下图:


        第二步:建立整数运算类和小数运算类,在这个地方,用@模板实现类的属性值替换  “模板类型1 ”,  如下图:


     第三步:可以调用模板实现类的方法了,如下图:

由以上例程可知,模板类型就像一个可变类型的占位符,在模板实现类中可用相应的类型予以替换。
不知道我说清楚了没有,请大家批评指正。
回复

使用道具 举报

20

主题

98

帖子

535

积分

高级会员

Rank: 4

积分
535
13#
发表于 2022-2-9 19:24:41 | 只看该作者
值得肯定
回复

使用道具 举报

13

主题

239

帖子

1882

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1882
12#
发表于 2021-5-7 19:24:38 | 只看该作者
楼主辛苦了,顶顶    再去看看,谢谢分享!!
回复

使用道具 举报

9

主题

371

帖子

3426

积分

贵宾

火山小白

Rank: 9Rank: 9Rank: 9

积分
3426
11#
发表于 2021-5-6 15:12:29 | 只看该作者
学习……
WX搜索:大强小屋【ID:daqiangstudio】
向火山进发!
回复

使用道具 举报

41

主题

411

帖子

3238

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3238
10#
发表于 2021-5-6 13:46:17 | 只看该作者
学习了
回复

使用道具 举报

20

主题

121

帖子

666

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
666
9#
发表于 2020-5-27 22:02:43 | 只看该作者
多个模板类型怎么弄,能做个例子吗...
回复

使用道具 举报

9

主题

30

帖子

220

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
220
QQ
8#
 楼主| 发表于 2019-4-17 08:00:51 | 只看该作者
123456789 发表于 2019-4-16 23:57
在“@模版实现类”的属性值里,为何要写“整数”和“小数”,是指的返回值类型吗? ...

按顺序分别替换模板基础类中所定义的:模板类型1、模板类型2……,这里只定义了一个模板类型1,所以只写一个整数或小数即可,如果是多个,加逗号分隔,具体你可以看帮助,结合帮助文档学习并调试才能找到感觉。
回复

使用道具 举报

81

主题

497

帖子

3757

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3757
7#
发表于 2019-4-16 23:57:46 | 只看该作者
在“@模版实现类”的属性值里,为何要写“整数”和“小数”,是指的返回值类型吗?
回复

使用道具 举报

4

主题

120

帖子

2123

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2123
6#
发表于 2019-4-16 22:52:48 | 只看该作者
zye7504 发表于 2019-4-16 21:20
模板基础类是不能直接被其他类使用的,他所有代码会替换到 “模板实现类” 这个类中去,这是火山中特有的 ...

明白了,谢谢解答
回复

使用道具 举报

9

主题

30

帖子

220

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
220
QQ
5#
 楼主| 发表于 2019-4-16 21:20:03 | 只看该作者
jiaoyin122 发表于 2019-4-16 20:59
楼主看看图片中的注释,那样操作可以吗?

模板基础类是不能直接被其他类使用的,他所有代码会替换到 “模板实现类” 这个类中去,这是火山中特有的一种编译机制。他可以用最少的代码实现多态。这是我的理解,不知对不对。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 10:47 , Processed in 0.105317 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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