在scala中进行子类化和输入
发布时间:2020-12-16 10:02:19 所属栏目:安全 来源:网络整理
导读:我在 Scala中正确输入时遇到问题 – 我想做类似这样的事情,在类层次结构上强加Ordered,但是使用子类允许compare方法只使用它们自己类型的参数 abstract class Parent extends Orderedclass A extends Parent { override def compare(that : A) = 1}class B e
我在
Scala中正确输入时遇到问题 – 我想做类似这样的事情,在类层次结构上强加Ordered,但是使用子类允许compare方法只使用它们自己类型的参数
abstract class Parent extends Ordered class A extends Parent { override def compare(that : A) = 1 } class B extends Parent { override def compare(that : B) = 1 } 下面的工作,但后来我永远被迫永远强加父类及其子类的类型特异性.这只是一个正确推理的噩梦. abstract class Parent[T <: Parent[_]] extends Ordered[T] class A extends Parent[A] { override def compare(that : A) = 1 } class B extends Parent[A] { override def compare(that : B) = 1 } 是否有一种更简单的方法来强制在Ordered [T]的子类上使用类型? 解决方法
为什么不呢
abstract class Parent class A extends Parent with Ordered[A] {...} class B extends Parent with Ordered[B] {...} 正如其他人所指出的那样,根据你的比较标准,不会对一系列父母进行排序,因为它的子类不具有可比性.只有它的子类是Ordered,所以在那里实现特征. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- bash – 调整大小/裁剪和附加4张图像
- Bootstrap关联select菜单,包罗万象的知识点
- 访问键和对象的值使用* ngFor
- angularjs – Restangular是否支持withCredentia
- twitter-bootstrap – Bootstrap 3按钮 – 不平坦
- 在bourne shell中使用user-defined-function中的
- scala – 在另一个SBT插件中显式启用SBT插件
- Angular 4 – canActivate observable not invok
- 『数据结构』莫队、带修莫队、树上莫队详解
- angularjs – 如何创建响应(变化列计数)角材料卡
热点阅读