抽象类型type的使用
来源:互联网 发布:网络诈骗转账图片大全 编辑:程序博客网 时间:2024/06/05 15:32
package currencies/** * Created by jack on 2017/8/4. */abstract class Currency { type CCurrency <: Currency val mount:Long def designation:String def +(that:CCurrency):CCurrency = new CCurrency { this.mount + that.mount } def *(factor:Double):CCurrency = new CCurrency { this.mount*factor }}class MyCurrency extends Currency { override type CCurrency = MyCurrency override val mount: Long = 100 override def designation: String = "hello"}object NewCurrency extends App{ val a = new MyCurrency() val b = new MyCurrency() val c = a+b}
上面这段代码看起来没有任何问题,但是在执行“+”或者“*”操作的时候,编译无法通过,究其原因是因为scala不允许实例化一个type所代表的类型的对象,也就是上面
CCurrency所代表的类型,这是一个抽象的类型
阅读全文
0 0
- 抽象类型type的使用
- Scala 抽象类型Type
- struts2 的type类型中的 redirect 使用
- Oracle type (自定义类型的使用)
- Content-Type的类型
- MIME的type类型
- oracle的type类型
- Struts2的type类型
- Content-Type的类型
- 使用动态类型Dynamic Type
- 由弱类型向强类型的转化(可参看Type类型的详细使用)
- CLisp 11:使用 type-of 确定对象的类型
- Oracle存储过程-使用记录类型注意的问题[%type]
- java里的类型Type
- struts2 result 的type类型
- type - 显示命令的类型
- http Content-Type的类型
- Mat 的类型(type)
- linux 查看硬盘信息
- HDU
- java模式设计之装饰器模式
- JDBC——preparestatement
- 01分数规划入门 poj 2976, 2728, 3621
- 抽象类型type的使用
- python基础(五)循环
- python中迭代器的应用场景
- 从0到100——知乎架构变迁史
- SSM+Ajax+maven+拦截器实现登录功能
- Google着手与 Open AI 合作预防人工智能暴走
- 8_4 C语言| 函数栈帧分析
- PythonTip--8.4
- python基础(六)dict