更新於 2024/12/07閱讀時間約 5 分鐘

【Kotlin 入門指南】可見性修飾關鍵字 (Visibility modifiers)

【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q

可見性修飾關鍵字

在 Kotlin 程式語言中,可見性修飾關鍵字(Visibility Modifiers)用來控制類別、物件、介面、函數和屬性的可見範圍。可見性修飾關鍵字扮演著極其重要的角色,它們確定了程式碼中各元素的可見範圍,從而影響了程式的結構、安全性以及擴展性。了解這些修飾關鍵字的作用,將有助於更好地掌握程式碼的設計與架構。

以下是 Kotlin 程式語言中,可見性修飾關鍵字及其作用:

  • open : 開啟,允許子類別繼承後可以覆寫
  • public : 公開,預設沒額外宣告的成員都是公開看得到。
  • private:私有,該成員只有在該類別才看得到。
  • protected : 保護,該成員在子類別也可以看到。
  • internal : 內部,只有該模組才可以看得到

open : 開啟

open 這個關鍵字,它的作用是允許該元素被子類別繼承並進行覆寫(override)。預設情況下,類別、方法和屬性都是不可被繼承和覆寫的,除非你使用了 open 關鍵字。

open class Animal {
open fun makeSound() {
println("Animal is making a sound")
}
}

class Dog : Animal() {
override fun makeSound() {
println("Dog is barking")
}
}

public : 公開

public 是 Kotlin 中最常見且最寬鬆的可見性修飾符。若一個成員沒有額外宣告可見性修飾符,則預設為 public。被標記為 public 的元素可以在任何地方被存取。

class Example {
// 預設為 public
val number: Int = 5

// 預設為 public
fun doSomething() {
// 可在任何地方存取
}
}

private:私有

當你想限制某個元素只能在它所屬的類別內部被訪問時,可以使用 private 修飾符。這表示該成員只有在同一類別中才可見,外部程式碼無法存取。

class Example {
private val secretCode: String = "1234"

private fun doSomething() {
// 只能在此類別內部存取
}
}

protected : 保護

protected 修飾符與 private 類似,但它允許子類別訪問所修飾的成員。這意味著該成員不僅在自身類別內部可見,也可以在其子類別中被存取。

open class Parent {
protected val count: Int = 5
}

class Child : Parent() {
fun accessParent() {
println("Count is: $count") // 子類別可以存取父類別中的 protected 屬性
}
}

internal : 內部

internal 可見性修飾符可以限制元素的可見範圍在相同模組內。只有相同模組內的程式碼可以訪問標記為 internal 的元素。

internal class InternalClass {
internal fun doInternalThing() {
// 只有在同一個模組內可被存取
}
}

這些可見性修飾關鍵字是 Kotlin 中控制程式碼結構和存取範圍的重要工具。選擇適當的可見性修飾符有助於提高程式碼的安全性和可讀性,同時也能更好地組織和管理程式碼。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.