刚刚入门kotlin时,对其construct怎么用存在一些疑问,优势
一、 constructor - 构造函数
class Animal(life:Int) {
init{
// 可用于初始化
}
// 构造函数均存在this
constructor(life: Int, name: String): this(life) {
}
}
二、继承的构造函数
1.基类无primary construct
abstract class Image(){
abstract fun loadImage()
}
class Dice:Image() {
override fun loadImage() {
TODO("Not yet implemented")
}
}
2.基类有主构造函数
abstract class Image(num:Int) {
abstract fun loadImage()
}
- 直接在继承类的主构造函数中获得
class Dice(num: Int):Image(num) { }
- 开头的主构造中不加Image(),后面加一个构造补偿函数
class Dice:Image {
constructor(num: Int): super(num)
}
其中
this(num)意味着当前constructor不继承父类的构造函数;
super(num)意味着当前constructor继承父类对应的构造函数;