scala的内部类怎么使用


这篇文章主要讲解了“scala的内部类怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“scala的内部类怎么使用”吧!在Scala中,一个类可以作为另一个类的成员。 在一些类似 Java 的语言中,内部类是外部类的成员,而 Scala 正好相反,内部类是绑定到外部对象的。 假设我们希望编译器在编译时阻止我们混淆节点 nodes 与图形 graph 的关系,路径依赖类型提供了一种解决方案。为了说明差异,我们简单描述了一个图形数据类型的实现:
该程序将图表示为节点列表 (List[Node])。 每个节点都有一个用来存储与其相连的其他节点的列表 (connectedNodes)。 类 Node 是一个 路径依赖类型,因为它嵌套在类 Graph 中。 因此,connectedNodes 中存储的所有节点必须使用同一个 Graph 的实例对象的 newNode 方法来创建。
为清楚起见,我们已经明确地将 node1node2,和 node3 的类型声明为graph2.Node,但编译器其实可以自动推断出它。 这是因为当我们通过调用 graph2.newNode 来调用 new Node 时,该方法产生特定于实例 graph2Node 类型的实例对象。如果我们现在有两个图,Scala 的类型系统不允许我们将一个图形中定义的节点与另一个图的节点混合,因为另一个图形的节点具有不同的类型。下例是 香港云主机一个非法的程序:类型 graph2.Node 与类型 graph3.Node 完全不同。在 Java 中,上一个示例程序中的最后一行是正确的。对于两个图的节点,Java 将分配相同的类型 Graph.Node; 即 Node 以类 Graph 为前缀。在Scala中也可以表示出这种类型,它写成了 Graph#Node。如果我们希望能够连接不同图形的节点,我们必须通过以下方式更改图类的初始实现的定义:感谢各位的阅读,以上就是“scala的内部类怎么使用”的内容了,经过本文的学习后,相信大家对scala的内部类怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: bash中有哪些常见的特殊符号

本篇文章为大家展示了bash中有哪些常见的特殊符号,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。!:最直接的功能是逻辑非,最常用的功能是操作历史命令(注意此功能不能用在shell编程中)。例如**!!执行上一条命令,!…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/07 22:04
下一篇 09/07 22:04

相关推荐