Kotlin
Tipo de constructores seguros
Buscar..
Observaciones
Un generador de tipos seguros es un concepto, en lugar de una característica de lenguaje, por lo que no está estrictamente formalizado.
Una estructura típica de un constructor de tipo seguro
Una función de constructor único generalmente consta de 3 pasos:
- Crea un objeto.
- Ejecuta lambda para inicializar el objeto.
- Agregue el objeto a estructurar o devuélvalo.
Constructores seguros en las bibliotecas de Kotlin
El concepto de constructores de tipo seguro se usa ampliamente en algunas bibliotecas y marcos de Kotlin, por ejemplo:
- Anko
- Wasabi
- Ktor
- Especulación
Generador de estructura de árbol de tipo seguro
Los constructores se pueden definir como un conjunto de funciones de extensión que toman expresiones lambda con receptores como argumentos. En este ejemplo, se está construyendo un menú de un JFrame
:
import javax.swing.*
fun JFrame.menuBar(init: JMenuBar.() -> Unit) {
val menuBar = JMenuBar()
menuBar.init()
setJMenuBar(menuBar)
}
fun JMenuBar.menu(caption: String, init: JMenu.() -> Unit) {
val menu = JMenu(caption)
menu.init()
add(menu)
}
fun JMenu.menuItem(caption: String, init: JMenuItem.() -> Unit) {
val menuItem = JMenuItem(caption)
menuItem.init()
add(menuItem)
}
Estas funciones se pueden usar para construir una estructura de árbol de objetos de una manera fácil:
class MyFrame : JFrame() {
init {
menuBar {
menu("Menu1") {
menuItem("Item1") {
// Initialize MenuItem with some Action
}
menuItem("Item2") {}
}
menu("Menu2") {
menuItem("Item3") {}
menuItem("Item4") {}
}
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow