小编vai*_*ski的帖子

使用密封特征和密封抽象类作为基类之间的区别

在尝试学习Akka时,我经常会发现类似于以下类的层次结构的示例:

sealed trait Message

case class TextMessage(user: String, text: String) extends Message
case class StatusMessage(status: String) extends Message
Run Code Online (Sandbox Code Playgroud)

但是,在Scala文档中有以下示例:

abstract class Notification

case class Email(sourceEmail: String, title: String, body: String) extends Notification
case class SMS(sourceNumber: String, message: String) extends Notification
case class VoiceRecording(contactName: String, link: String) extends Notification
Run Code Online (Sandbox Code Playgroud)

使用密封特征与抽象类(或本例中的密封抽象类)作为没有类层次结构的构造函数参数的基类有什么区别?使用一个优于另一个有一些优势吗?

编辑:

具体来说,如果两者,特征和抽象类都是密封的,我不能将它们扩展到文件之外,对吧?在那种情况下,我无法用Java继承它们吗?如果是这种情况,密封性将使建议的副本中找到的大多数参数无效,因为它们引用文件外的继承.

scala akka

9
推荐指数
1
解决办法
3116
查看次数

标签 统计

akka ×1

scala ×1