Kotlin 密封類(sealed class)確實(shí)可以簡(jiǎn)化代碼邏輯,提高代碼的可讀性和可維護(hù)性。密封類是一種特殊的類,它不能被繼承(除了它的子類)。這意味著你可以確保一個(gè)變量只能是密封類的一個(gè)子類的實(shí)例,這樣可以避免出現(xiàn)不受控制的類繼承。
使用密封類的好處:
下面是一個(gè)簡(jiǎn)單的 Kotlin 密封類示例:
sealed class Shape {
data class Circle(val radius: Double) : Shape()
data class Rectangle(val width: Double, val height: Double) : Shape()
data class Triangle(val base: Double, val height: Double) : Shape()
}
在這個(gè)例子中,我們定義了一個(gè)密封類 Shape
,它有三個(gè)子類:Circle
、Rectangle
和 Triangle
。由于 Shape
是密封類,所以其他類不能繼承它。這樣可以確保我們?cè)谔幚?Shape
類型的變量時(shí),只會(huì)有這三種可能的類型。