递归火山软件开发平台

标题: 模板基础类、模板实现类和模板类型之简单理解和运用 [打印本页]

作者: zye7504    时间: 2019-4-16 17:23
标题: 模板基础类、模板实现类和模板类型之简单理解和运用
本帖最后由 zye7504 于 2019-4-16 17:36 编辑

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

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

     第三步:可以调用模板实现类的方法了,如下图:
(, 下载次数: 151)
由以上例程可知,模板类型就像一个可变类型的占位符,在模板实现类中可用相应的类型予以替换。
不知道我说清楚了没有,请大家批评指正。

作者: abcfox    时间: 2019-4-16 17:59
本帖最后由 abcfox 于 2019-4-16 18:36 编辑

这个教程真的好,点赞!
很多晦涩的名词术语真的很需要讲一讲,写代码时知道是什么有什么才知道该用什么。
作者: 火绒    时间: 2019-4-16 18:14
就是需要这样的文章,必须点赞
作者: jiaoyin122    时间: 2019-4-16 20:59
楼主看看图片中的注释,那样操作可以吗?

作者: zye7504    时间: 2019-4-16 21:20
jiaoyin122 发表于 2019-4-16 20:59
楼主看看图片中的注释,那样操作可以吗?

模板基础类是不能直接被其他类使用的,他所有代码会替换到 “模板实现类” 这个类中去,这是火山中特有的一种编译机制。他可以用最少的代码实现多态。这是我的理解,不知对不对。
作者: jiaoyin122    时间: 2019-4-16 22:52
zye7504 发表于 2019-4-16 21:20
模板基础类是不能直接被其他类使用的,他所有代码会替换到 “模板实现类” 这个类中去,这是火山中特有的 ...

明白了,谢谢解答
作者: 123456789    时间: 2019-4-16 23:57
在“@模版实现类”的属性值里,为何要写“整数”和“小数”,是指的返回值类型吗?
作者: zye7504    时间: 2019-4-17 08:00
123456789 发表于 2019-4-16 23:57
在“@模版实现类”的属性值里,为何要写“整数”和“小数”,是指的返回值类型吗? ...

按顺序分别替换模板基础类中所定义的:模板类型1、模板类型2……,这里只定义了一个模板类型1,所以只写一个整数或小数即可,如果是多个,加逗号分隔,具体你可以看帮助,结合帮助文档学习并调试才能找到感觉。
作者: yinghao2005    时间: 2020-5-27 22:02
多个模板类型怎么弄,能做个例子吗...
作者: xqnh520    时间: 2021-5-6 13:46
学习了
作者: 大强    时间: 2021-5-6 15:12
学习……
作者: 2oon    时间: 2021-5-7 19:24
楼主辛苦了,顶顶    再去看看,谢谢分享!!
作者: qiuzhi    时间: 2022-2-9 19:24
值得肯定




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