在Kotlin中,接口實(shí)現(xiàn)多態(tài)與在Java中類似。你可以通過(guò)定義一個(gè)接口,然后創(chuàng)建多個(gè)實(shí)現(xiàn)該接口的類,每個(gè)類都有自己的實(shí)現(xiàn)。在運(yùn)行時(shí),可以根據(jù)需要選擇合適的實(shí)現(xiàn)。這里有一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明如何在Kotlin中實(shí)現(xiàn)接口多態(tài):
interface Animal {
fun makeSound(): String
}
class Dog : Animal {
override fun makeSound(): String {
return "Woof!"
}
}
class Cat : Animal {
override fun makeSound(): String {
return "Meow!"
}
}
Animal
類型的參數(shù),并調(diào)用其makeSound()
方法:fun playSound(animal: Animal) {
println(animal.makeSound())
}
Dog
和Cat
對(duì)象,并調(diào)用playSound()
函數(shù):fun main() {
val dog = Dog()
val cat = Cat()
playSound(dog) // 輸出 "Woof!"
playSound(cat) // 輸出 "Meow!"
}
在這個(gè)例子中,playSound()
函數(shù)接受一個(gè)Animal
類型的參數(shù),這使得它可以接受任何實(shí)現(xiàn)了Animal
接口的類。這就是Kotlin中接口實(shí)現(xiàn)多態(tài)的方式。