Alias ​​de tipos de Kotlin

Imagine que está creando un proyecto en el que definió dos clases con el mismo nombre pero diferentes paquetes y tiene que usarlas a la vez. En general, debe usar el formato de nombre de clase de punto de nombre de paquete completo para el segundo. Por ejemplo, tenemos una clase llamada ‘cursos’, uno en el paquete «com.gfg.apps» y otro en «com.gfg_practice.apps», podemos usar uno de ellos usando la importación simple y si queremos usar el segundo tenemos que usar el nombre completo del paquete como «com.gfg_practice.apps.courses».
En Kotlin , tenemos una solución para esto llamada Type aliases . Los alias de tipo proporcionan un nombre alternativo para los tipos existentes (en nuestro caso, es una clase).
En nuestro escenario anterior, podemos hacer: 
 

typealias course = com.gfg_practice.apps.courses 

y usar los cursos de clase del paquete «com.gfg_practice.apps» en cualquier lugar que queramos sin definir la versión más larga cada vez que lo usamos.
Programa Kotlin para demostrar alias de tipo – 
 

Java

// here we define a type alias named Login_details
// which will take two strings as parameters
typealias Login_detials = Pair <String, String>
fun main() {
    // we are setting two users but we don't
    // have to define Pair each time while using it
    val my_details = Login_detials("Username1", "Password1")
    //instead we can directly use our type alias Credentials.
    val my_details2 = Login_detials("Username2", "Password2")
 
    println(my_details)
    println(my_details2)
}

Producción: 
 

(Username1, Password1)
(Username2, Password2)

Programa Kotlin para demostrar – 
 

Java

typealias Number<T> = (T) -> Boolean
// defined a type alias named Number,  > is used as a separator here
 
fun main() {
    //it is used to loop through each element of the below list
    val x: Number<Int> = { it > 0 }
    //filter method only print those element which
    // satisfies the condition (numbers > 0)
    println("Positive numbers in the list are: "
            +listOf(11, -1, 10, -25, 55 , 43, -7).filter(x))
 
}

Producción: 
 

Positive numbers in the list are: [11, 10, 55, 43]

Publicación traducida automáticamente

Artículo escrito por Abhishek7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *