iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 11
0
Software Development

初探Kotlin系列 第 11

[Day 11] Classes and Inheritance-3

  • 分享至 

  • xImage
  •  

Overriding Rules

class繼承或實作有相同的類別成員時(有相同的方法)
需要明顯的指定是時做哪個父類的方法

open class A {
    open fun f() { print("A") }
    fun a() { print("a") }
}

interface B {
    fun f() { print("B") } 
    fun b() { print("b") }
}

class C() : A(), B {
    override fun f() {
        super<A>.f() // call to A.f()
        super<B>.f() // call to B.f()
    }
}

Abstract Classes

跟Java一樣 帶有關鍵字abstract的類為抽象類別不可被實例

open class Base {
    open fun f() {}
}

abstract class Derived : Base() {
    override abstract fun f()
}

上一篇
[Day 10] Classes and Inheritance-2
下一篇
[Day 12] Properties and Fields-1
系列文
初探Kotlin19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言