我想了解这个抽象工厂在Kotlin中是如何工作的。一般来说,关于每个组件,例如(有一个抽象类,有内联)。我只是无法理解创建必要工厂的过程是如何进行的by step.head 将不胜感激。
abstract class ChatFactory {
abstract fun getChat(): Chat
companion object {
inline fun <reified T : Chat> create(): ChatFactory =
when (T::class) {
FakeChat::class -> FakeChatFactory()
SDKChat::class -> SDKChatFactory()
else -> throw IllegalArgumentException()
}
}
}
ChatFactory.create<FakeChat>().getChat().getChannels()
1 个回答