• 封闭类


      封闭类是kotlin 的语法糖,也可以理解为枚举的扩展,前面scaled关键字标识,可以有任意多个子类或者对象,封闭类的值只能是这些子类和对象,使用封闭类好处主要是when表达式,不需要使用else形式

    package loaderman.demo
    
    sealed class Expr {
        data class Const(val num: Double) : Expr()
        data class Sum(val el: Expr, val e2: Expr):Expr()
        object NotANumber:Expr()
    }
    package loaderman
    import loaderman.demo.Expr
    fun main(arg: Array<String>) {
        println(eval(Expr.Const(4.5)))
    }
    
    
    fun eval(expr :Expr):Double=when(expr){
        is Expr.Const ->expr.num
        is Expr.Sum -> eval(expr.el)+eval(expr.e2)
        Expr.NotANumber->Double.NaN
    }
  • 相关阅读:
    版本管理
    图解电路
    Java语言基础
    电工学入门
    11个例子教会你看电路图
    如何提高STM32的学习效率
    开发板入门
    Altium Designer
    电子设计从零开始
    推荐书籍
  • 原文地址:https://www.cnblogs.com/loaderman/p/10134319.html
Copyright © 2020-2023  润新知