kotlin入门-继承1

/**
 * 定义运动员的一个抽象类,他们都有一个竞技技能
 * 一个类想要被继承 需要open 一个方法想要被覆写也需要open
 */
abstract class Athletes(open val club: String) {
    open fun sports() {

    }
}

/**
 * 定义一个足球运动员继承运动员
 */
class footballer(club: String) : Athletes(club) {

    override fun sports() {
        println("我是一个足球运动员,我来自${club}俱乐部")
    }
}

class basketballplayer(club: String) : Athletes(club) {

    /**
     * 覆写成员变量
     */
    override val club: String
        get() = "未知"


    override fun sports() {
        println("我是一个篮球运动员,我来自${club}俱乐部")
    }
}

fun main(args: Array) {
    var p1: Athletes = footballer("国际米兰")
    p1.sports()
    var p2: Athletes = basketballplayer("..")
    p2.sports()

}

你可能感兴趣的:(kotlin)