【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q
在 Kotlin 程式語言中,可見性修飾關鍵字(Visibility Modifiers)用來控制類別、物件、介面、函數和屬性的可見範圍。可見性修飾關鍵字扮演著極其重要的角色,它們確定了程式碼中各元素的可見範圍,從而影響了程式的結構、安全性以及擴展性。了解這些修飾關鍵字的作用,將有助於更好地掌握程式碼的設計與架構。
以下是 Kotlin 程式語言中,可見性修飾關鍵字及其作用:
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
是 Kotlin 中最常見且最寬鬆的可見性修飾符。若一個成員沒有額外宣告可見性修飾符,則預設為 public
。被標記為 public
的元素可以在任何地方被存取。
class Example {
// 預設為 public
val number: Int = 5
// 預設為 public
fun doSomething() {
// 可在任何地方存取
}
}
當你想限制某個元素只能在它所屬的類別內部被訪問時,可以使用 private
修飾符。這表示該成員只有在同一類別中才可見,外部程式碼無法存取。
class Example {
private val secretCode: String = "1234"
private fun doSomething() {
// 只能在此類別內部存取
}
}
protected
修飾符與 private
類似,但它允許子類別訪問所修飾的成員。這意味著該成員不僅在自身類別內部可見,也可以在其子類別中被存取。
open class Parent {
protected val count: Int = 5
}
class Child : Parent() {
fun accessParent() {
println("Count is: $count") // 子類別可以存取父類別中的 protected 屬性
}
}
internal
可見性修飾符可以限制元素的可見範圍在相同模組內。只有相同模組內的程式碼可以訪問標記為 internal
的元素。
internal class InternalClass {
internal fun doInternalThing() {
// 只有在同一個模組內可被存取
}
}
這些可見性修飾關鍵字是 Kotlin 中控制程式碼結構和存取範圍的重要工具。選擇適當的可見性修飾符有助於提高程式碼的安全性和可讀性,同時也能更好地組織和管理程式碼。