Cuándo y dónde usar el objeto complementario de Kotlin

Kailash Vaviya 15 febrero 2024
  1. Métodos estáticos de Java
  2. Objeto compañero de Kotlin
  3. ¿Cuándo debemos usar un objeto compañero de Kotlin?
Cuándo y dónde usar el objeto complementario de Kotlin

En cualquier lenguaje de programación orientado a objetos como Kotlin, Java o C#, tenemos que crear objetos de una clase para acceder a sus miembros. En Kotlin, se verá así:

class className{
    fun funName() = // code will come here
}
fun main(){
    val obj = className()
    obj.funName() // calling the function using the class's object
}

Sin embargo, existe una forma de acceder al método de una clase sin crear un objeto. Y ahí es donde entran en escena los objetos estático de Java y compañero de Kotlin.

En este artículo, aprenderemos sobre el objeto compañero y cómo usarlo en Kotlin. Pero antes de entrar en eso, veamos un ejemplo de los métodos estáticos de Java.

Métodos estáticos de Java

Java permite seguir un enfoque de programación orientado a objetos sin crear ningún objeto. Lo hace con el uso de objetos o instancias estáticas.

La palabra clave static permite la creación de variables o métodos estáticos dentro de una clase. Estas variables o métodos permanecen constantes y no podemos cambiarlos después de la inicialización.

El uso más significativo de la palabra clave static en Java es la gestión de memoria. Podemos acceder a variables y métodos estáticos sin crear un objeto, lo que ahorra memoria.

Podemos acceder a tales métodos con la ayuda de nombres de clase.

El programa Java a continuación demuestra lo mismo. El cubeNumber() en este programa es un método estático.

Tomará un parámetro entero y devolverá su cubo.

import java.util.*;

public class Example {
  public static void main(String[] args) {
    int res = Example.cubeNumber(3);
    System.out.println("Cube of 3 is: " + res);
  }

  public static int cubeNumber(int i) {
    return i * i * i;
  }
}

Método estático en Java

Como vemos, el cubeNumber() es el método estático en el ejemplo anterior. Por lo tanto, podríamos llamarlo usando el nombre de la clase.

Objeto compañero de Kotlin

Java tiene métodos estáticos, pero no hay estáticos en Kotlin. Todavía hay una manera de crear tales variables, pero el enfoque es diferente.

En Kotlin, usamos la palabra clave objeto compañero para crear tales métodos.

La palabra clave compañero funcionará igual que la palabra clave estática en Java. Permitirá el acceso a los métodos creados con la palabra clave compañero sin ningún objeto.

Aquí hay un ejemplo para demostrar el uso de objetos compañeros en Kotlin. En este ejemplo, crearemos una clase Empleado.

Luego crearemos una función para imprimir el nombre del empleado usando la palabra clave compañero y acceder a ella sin el objeto de la clase.

class Employee {

    companion object {
        fun printName() = println("Hi, my name is David.")
    }
}

fun main(args: Array<String>) {
    Employee.printName()
}

Programa de ejemplo de objeto complementario de Kotlin

También podemos omitir el nombre de la función. En ese caso, podemos usar el nombre Compañero.

¿Cuándo debemos usar un objeto compañero de Kotlin?

El mejor escenario para usar un objeto compañero de Kotlin es cuando no interfiere con el estado del objeto de la clase. Esto significa que si está utilizando funciones puras o valores finales a los que se debe acceder desde fuera de la clase en sí, entonces puede usar el objeto compañero de Kotlin.

Sin embargo, si el objeto interfiere con el estado del objeto de la clase, se recomienda no utilizar el objeto compañero. Esto se debe a que su uso puede dar lugar a numerosos errores.

Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn

Artículo relacionado - Kotlin Object