zoukankan      html  css  js  c++  java
  • kotlin面向对象之枚举、印章类

    枚举:

    由于这个比较简单,直接上代码:

    下面使用一下:

    印章类【Sealed class】:

    听着挺新鲜的,下面以一个具体的场景来对它进行学习:

    动物园里有三个动物如下,在天黑时它们污污的在做“游戏”,于是乎会发生如下关系:

    公马 + 母驴  = 骡子

    公驴 + 母驴 = 小驴

    而这种场景刚好就可以用这个印章类来描述,下面看下代码:

    而咱们这个例子最终的产出只有两种类型:小骡子和小小驴,不可能有其它类型,在Kotlin中针对这种场景就诞生出了印章类,那具体表现是怎么样的呢?

    接着在它里面声明指定的类型,如下:

    接着在Son类中可以增加一个方法:

    接下来应用一下:

    因为它只能用它里面指定的类型,类似于跟枚举一样,具体使用如下:

    接下来则可以多生成几个儿子,并放一个集合中进行遍历:

    所以可见印章类其实就是子类类型有限的class。 

    总结:

    貌似印章类其实跟枚举是很类似的,都是限定了类型,但是它们俩还是有区别的,如下:

    Sealed class更在意类型;枚举更在意数据。

  • 相关阅读:
    cad三维多断线的合并
    将list中的每个元素转换成str
    ndarray格式的点云数组转变为open3d.open3d.geometry.PointCloud
    汉字读音积累
    python文件内的函数调用
    numpy.dot()函数
    父亲啊,儿子是您永远的牵挂
    2008江西高考0分作文
    记忆一个朋友
    暴风雨前的天空
  • 原文地址:https://www.cnblogs.com/webor2006/p/8418725.html
Copyright © 2011-2022 走看看