简单说:代数或者数字转换成类型,这种被我们代数或者数字转换成的类型以及通这些类型产生的新的类型,就叫做代数数据类型(ADT) 每种类型在实例化的时候,都有对应的值。Boolean可能有true和false两种类型的取值。如果我们将数字2与取值种类关联就叫做计数,同理Unit 表示只有一个实例,那么他的计数是1. ADT 常见的两种类...
【Kotlin 初学者】枚举类-密封类-数据类-继承(上) 简介:目录 一、枚举类1.1 创建枚举类1.2 获取枚举相关信息1.3 枚举类添加属性1.4 定义函数1.5 以泛型的方式访问枚举类中的常量1.6 代数数据类型(ADT) 二、密封类(sealed class)2.1 创建密封类2.2 使用 一、枚举类 枚举类,用来定义常量集合的一种特殊类。使用 ...
八、代数数据类型 /** * 代数数据类型 * 可以用来表示一组子类型的闭集,枚举类就是一种简单的ADT(抽象数据类型) */ enum class LicenseStatus { UNQUALIFIED, LEARNING, QUALIFIED; } class Driver(var status: LicenseStatus) { fun checkLicense(): String { return when (status) { LicenseStatus.UNQUALIFIE...
密封类可以用来定义一个类似枚举类的代数数据类型,但你可以更灵活地控制某个子类型 密封类可以有若干个子类,要继承密封类,这些子类必须和它定义在同一个文件里 sealed class LicenseStatus{ //2个单例类 object UnQualified:LicenseStatus() object Learining:LicenseStatus() //一个普通类,都是LicenseStatus的子类 ...
代数数据类型(ADT) 密封类 接口 抽象类 泛型 定义泛型类 泛型函数 多泛型参数 泛型类型约束 关键字补充(vararg,infix,inline) Vararg Infix inline 标准库函数 also also返回接收者对象,而let返回lambda结果,所以also更适合针对同一原始对象,利用副作用做事,可以基于原始接收者对象执行额外的链式调用 ...
可以用来表示一种子类型的闭集,枚举类就是一种简单的代数数据类型(ADT) enumclassPosition{ east, west, south, north }classTreasure(varposition: Position) {funfind()=when(position) { Position.east ->"不在东边"Position.west ->"不在西边"Position.south ->"不在南边"Position.north ->"你在北边找到...
97-Kotlin语言的代数数据类型 98-Kotlin语言的密封类 99-数据类使用条件 open 声明class, is 和 as 关键字 作为检查和转换操作 kotlin 默认创建一个Class情况的class是底层:public final class 拒绝继承 如果想要可以后续继承使用,需要在前面添加open 关键字 ...
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组,切片(slice),结构体(struct),接口(interface),函数(func),map , 通道(channel)等。 整型:int8 int6 int32 int64;对应的无符号整型:uint8 uint16 uint32 uint64。uint8 就是我们熟知的 byte 型,int16对应C语言中的short型,in...
-智能类型转换--Any超类 == java Object--对象声明:object 单例--对象表达式--伴生对象:companion object == Java内部静态类 kt中没有static静态--内部类与嵌套类--数据类--copy函数--解构声明--运算符重载--枚举类--枚举类定义函数-代数数据类型-