#Kata Companion objects y static methods en Scala.

En este post te voy a explicar que es un companion object y como puedes implementar el equivalente a métodos estáticos en Scala.

Primeros pasos.

En Scala no existe la palabra reservada static, tampoco puedes acceder a miembros de una clase sin instanciar. Para emular este comportamiento debes agregar un object  con el mismo nombre de la clase en el mismo archivo, este componente se conoce como companion object, y servirá  para usar métodos o propiedades sin necesidad de instanciar.

Acceso a miembros private.

Puedes acceder a los miembros privados del companion object sin necesidad de agregar un modificador de acceso adicional.

Método apply.

En Scala puedes el omitir el uso de la palabra reservada new cuando instancias un objeto, esto es una convención, y se hace implementando el método apply en tu companion object. Si implementas apply puedes seguir empleando new. Solo es azúcar sintáctica.

Gustavo Sánchez