模板基础类、模板实现类和模板类型之简单理解和运用
本帖最后由 zye7504 于 2019-4-16 17:36 编辑火山安卓平台很多的名词术语显得很晦涩,不能望词生义,比如模板基础类、模板实现类和模板类型数据,经仔细学习文档,并在群里面问火伴老师,对这三个东东有了浅显的理解,并做了一个简单应用,技术含量没有,权当记录自己的学习过程,并和小白们一起学习进步。
一、关于模板基础类、模板实现类,从名字和代码来看,有点像抽象类和继承抽象的子类,后经询问企鹅老师,才知这是火山特有的概念,与抽象类无关,仅用于火山内部编译使用。
二、关于模板类型1到模板类型8,我开始以为相当于java和.net中的泛型类,经企鹅老师指点,不能作泛型理解。权当作可替换的数据类型理解。
根据以上两点,我做了一个简单的数学运算模板类例程如下:
第一步:建立一个“数学运算类”,将其设为模板基础类,模板基础类只能用作模板实现类或其它模板基础类的基础类,或者在该类内部使用,除此之外不能在其它任何场合使用,只有在模板基础类中才能使用模板类型.如下图:
第二步:建立整数运算类和小数运算类,在这个地方,用@模板实现类的属性值替换“模板类型1 ”,如下图:
第三步:可以调用模板实现类的方法了,如下图:
由以上例程可知,模板类型就像一个可变类型的占位符,在模板实现类中可用相应的类型予以替换。
不知道我说清楚了没有,请大家批评指正。
本帖最后由 abcfox 于 2019-4-16 18:36 编辑
这个教程真的好,点赞!
很多晦涩的名词术语真的很需要讲一讲,写代码时知道是什么有什么才知道该用什么。 就是需要这样的文章,必须点赞 楼主看看图片中的注释,那样操作可以吗?
jiaoyin122 发表于 2019-4-16 20:59
楼主看看图片中的注释,那样操作可以吗?
模板基础类是不能直接被其他类使用的,他所有代码会替换到 “模板实现类” 这个类中去,这是火山中特有的一种编译机制。他可以用最少的代码实现多态。这是我的理解,不知对不对。 zye7504 发表于 2019-4-16 21:20
模板基础类是不能直接被其他类使用的,他所有代码会替换到 “模板实现类” 这个类中去,这是火山中特有的 ...
明白了,谢谢解答:) 在“@模版实现类”的属性值里,为何要写“整数”和“小数”,是指的返回值类型吗? 123456789 发表于 2019-4-16 23:57
在“@模版实现类”的属性值里,为何要写“整数”和“小数”,是指的返回值类型吗? ...
按顺序分别替换模板基础类中所定义的:模板类型1、模板类型2……,这里只定义了一个模板类型1,所以只写一个整数或小数即可,如果是多个,加逗号分隔,具体你可以看帮助,结合帮助文档学习并调试才能找到感觉。 多个模板类型怎么弄,能做个例子吗... 学习了
页:
[1]
2