Comprender los miembros estáticos en Scala

Suraj P 13 junio 2022
  1. Objetos Singleton en Scala
  2. Objetos complementarios en Scala
Comprender los miembros estáticos en Scala

En este artículo, aprenderemos sobre los miembros estáticos en Scala.

Ahora, Scala está más orientado a objetos que Java, pero a diferencia de Java, no tenemos la palabra clave estática en Scala. Entonces, la solución es usar objetos complementarios u objetos únicos.

Objetos Singleton en Scala

Como Scala no tiene la palabra clave static, podemos usar el concepto de objeto singleton. Un objeto singleton es un tipo de objeto que define un solo objeto para la clase.

Esto proporciona un punto de entrada para la ejecución del programa. Si no se crea un objeto singleton en el programa, el código se compilará pero no dará ningún resultado.

El objeto singleton se crea utilizando la palabra clave objeto.

Sintaxis:

object name
{
//our code..
}

Código de ejemplo:

object Example
{
    // Variables of singleton object
    var name = "My name is tony stark";
    var language = "We are learning Scala language";

    // Method of singleton object
    def display()
    {
        println(name);
        println(language);
    }
}

// Singleton object whose name is main
object Main
{
    def main(args: Array[String])
    {
        //calling the method
        Example.display();
    }
}

Producción :

My name is tony stark
We are learning Scala language

Explicación:

Hemos creado dos objetos singleton en el código anterior, es decir, Example y Main. El objeto Example contiene un método llamado display(), que se llama dentro del objeto Main directamente usando el nombre de objeto Example en lugar de crear un objeto y luego llamarlo.

Estos son algunos puntos importantes sobre los objetos singleton:

  1. El método Main siempre debe estar presente cuando se trabaja con objetos singleton.
  2. No podemos crear una instancia de un objeto singleton.
  3. Los métodos dentro de objetos singleton tienen accesibilidad global.
  4. Un objeto singleton puede extender clases y rasgos.

Objetos complementarios en Scala

Definimos instancias, es decir, miembros no estáticos en una clase, y definimos miembros que queremos que aparezcan como miembros estáticos en un objeto con el mismo nombre que la clase. Este tipo de objeto se conoce como objeto complementario, y la clase se conoce como clase compañera.

El objeto complementario y la clase deben definirse en el mismo archivo de origen.

Código de ejemplo:

class Example
{
    var name = "My name is tony stark";
    var language = "We are learning Scala language";


    def display()
    {
        println(name);
        println(language);
    }
}

object Example
{
    def main(args: Array[String])
    {
        //calling the method
        var obj = new Example();
        obj.display()
    }
}

Producción :

My name is tony stark
We are learning Scala language
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

Artículo relacionado - Scala Methods