在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
类的实现细节,从而降低了耦合度。