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:
- El método
Main
siempre debe estar presente cuando se trabaja con objetos singleton. - No podemos crear una instancia de un objeto singleton.
- Los métodos dentro de objetos singleton tienen accesibilidad global.
- 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