Kotlin 的一种 Self Type 的一种实现方法,父类中可以直接获取到子类的类型。
核心是利用继承类取巧!
在 MyBatisPlus 中看到过此类用法,现在大概明白了作用
interface SelfType<T : SelfType<T>> {
val selfType: T
get() = this as T
}
class Student : SelfType<Student> {
}
//在父类中使用真实的子类类型
fun main() {
val studentSec = Student()
println(studentSec.selfType === studentSec)
}