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下别的文件声明会报错。

    关注公众号 海量干货等你
  • 相关阅读:
    求助
    第五次作业
    第四次作业
    第三次作业
    第二次作业(四则运算)
    关于软件工程相关疑问
    小组成员名单()
    第四次作业
    第二次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734163.html
Copyright © 2011-2022 走看看