zoukankan      html  css  js  c++  java
  • Scala 密封类

    如果想让case类的所有子类都必须在申明的该类的相同的文件中定义,可以将样例类的通用超类声明为sealed,叫做密封类,密封就是外部用户不能在其他文件中定义子类。不能被继承只能自己用

    sealed abstract class TrafficLightColor
    case object Red extends TrafficLightColor
    case object Yellow extends TrafficLightColor
    case object Green extends TrafficLightColor
    

    尖叫提示:密封类,只能在同一个文件中定义子类。

    一般情况下Scala 中 在同一个package下面 比如在A.scala 文件中定义了抽象类A,则 可以在A.scala文件中定义 继承子类 比如 case class B /object B  extends A。 但是如果A在声明的时候加入了sealed  则,A的子类只能在本文件声明。同package下别的文件声明会报错。

    关注公众号 海量干货等你
  • 相关阅读:
    Javascript | 模拟mvc实现点餐程序
    DataTables实现按分组小计
    [Webcast]Silverlight探秘系列课程
    python 环境搭建
    MailMessage
    WebRequest
    消息队列(Message Queue)
    c# 缓存
    c# 反射
    数据库连接超时
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734163.html
Copyright © 2011-2022 走看看