-
- Kotlin继承
-
Kotlin构造
-
- 主构造函数
-
次构造函数
-
注意点
-
Kotlin接口
-
本章小结
凡是能看到这里,相信各位都是程序员吧,但是程序员也有不同,有做Web前端的,有做后台的,也有做移动端的!做这些方向的技术人员都是程序员,所以,可以理解为继承自程序员,来表述各位的专业方向!这就是继承!可以参考:Java 学习之路 类的继承
拉出来(Java 学习之路 类的继承)文章中的猫和老虎
Java中的继承通过 extends 关键字来实现!Kotlin 则通过 “ : ” 来实现,接下来就用继承来实现上方的关系,先只实现猫咪那一个分支!
首先创建Cat类
open class Cat {
var skill = " 我会上树 "
var dislike = " 我讨厌洗澡 "
}
在这里在类前加入了open关键字,它的作用是表明这个类是可以被继承的,如果不加,则表明这个类不可以被继承!
创建黄上这个猫,并继承自猫类:
class CatYellowUp : Cat() {
var name = “我是猫黄上”
}
继承使用 “ : ” ,后面接的是继承的类,并加括号!代表 CatYellowUp类 继承自 Cat类!
创建红桃猫,也是如此:
class CatRedPeach : Cat() {
var name = “我是猫红桃”
}
这样就实现了最基本的继承关系!之后在main函数中运行它!
fun main() {
val yellowUp = CatYellowUp()
val redPeach = CatRedPeach()
//打印黄上
println(yellowUp.name + yellowUp.skill + yellowUp.dislike)
//打印红桃
println(redPeach.name + redPeach.skill + redPeach.dislike)
}
运行结果:
构造分为 主构造函数 和 次构造函数 ,Kotlin中每个类都会有一个默认不带有参数的主构造函数,当然,你也可以给它加入一些参数。
主构造函数
主构造函数没有函数体,直接定义在类名之后,举个例子:
class Study(var name: String) {
fun study() {
println(name + " 在学习Kotlin")
}
}
此时在main函数中调用就要传入这个参数
fun main() {
Study(“CSDN女神”).study()
}
如果需要继承,可以这么写,举例 CSDN女神类 继承自那个写好的Cat类,当然,我没有猫的属性!
class CsdnGoddess(val par: String) : Cat() {
}
次构造函数
次构造函数通过 constructor 关键字来实现,举个例子
Study:
class Study {
var str = “”
constructor(name: String) {
str = name + " 在学习Kotlin"
}
fun study() {
println(str)
}
}