在Kotlin中,通過使用接口和組合來降低類之間的耦合度。
interface Animal {
fun makeSound(): String
}
class Dog : Animal {
override fun makeSound(): String {
return "Woof!"
}
}
fun main() {
val animal: Animal = Dog()
println(animal.makeSound()) // 輸出 "Woof!"
}
class Engine {
fun start() {
println("Engine started")
}
}
class Car(private val engine: Engine) {
fun startCar() {
engine.start()
println("Car started")
}
}
fun main() {
val engine = Engine()
val car = Car(engine)
car.startCar() // 輸出 "Engine started" 和 "Car started"
}
在這個例子中,Car
類通過組合 Engine
類來獲得啟動汽車的功能。這樣,Car
類不需要知道 Engine
類的實現細節,從而降低了耦合度。