Anulando el método toString() en Scala

Considere el siguiente programa Scala:

// Scala Program without override toString method
  
// Creating Class
class Language(LangArticle: Int, LangName: String) 
{
  
    // Defining getLangArticle method
    def getLangArticle() : Int = {
          
        return LangArticle;
    }
      
    // Defining getLangName method
    def getLangName() : String = {
          
        return LangName;
    }
  
}
  
// Creating object
object GFG 
{
    // Main method
    def main(args: Array[String])
    {
          
        var language = new Language(50, "Scala");
          
        println(language)
          
    }
}
Producción:

Language@506e1b77

El resultado es el nombre de la clase, luego el signo ‘arroba’ y al final el código hash del objeto. Todas las clases en Scala heredan de la clase Object, directa o indirectamente. La clase de objeto tiene algunos métodos básicos como clone(), toString(), equals(), .. etc. El método predeterminado toString() en Object imprime «nombre de clase @ código hash». Podemos anular el método toString() en nuestra clase para imprimir la salida adecuada. A continuación se muestra el ejemplo para anular el método toString.

// Scala Program to override toString method
  
// Creating Class
class Language(LangArticle: Int, LangName: String) 
{
  
    // Defining getLangArticle method
    def getLangArticle() : Int = {
          
        return LangArticle;
    }
      
    // Defining getLangName method
    def getLangName() : String = {
          
        return LangName;
    }
      
    // Overriding tostring method
    override def toString() : String = {
          
        return "[Total Article : " + LangArticle + 
                ", Language Name = " + LangName+"]";
    }
  
}
  
// Creating object
object GFG 
{
    // Main method
    def main(args: Array[String])
    {
          
        var language = new Language(50, "Scala");
          
        println(language)
          
    }
}
Producción:

[Total Article : 50, Language Name = Scala]

En el ejemplo anterior, la clase de idioma anula el método toString() y devuelve el valor de la string. Este método tiene nombres y valores de atributos. La clase define dos variables LangArticle y LangName y tres métodos: getLangArticle, getLangName y toString. getLangArticle toma un argumento entero y devuelve un valor. getLangName toma argumentos de una string y devuelve un valor. toString , por otro lado, toma cualquier parámetro pero devuelve un valor de string. Dado que toString anula el método toString predefinido, debe etiquetarse con el indicador de anulación.

Nota: Cuando anulamos el método de cualquier superclase. Deberíamos usar la palabra clave override antes del método (es decir, override def toString()).

Publicación traducida automáticamente

Artículo escrito por DivyaPareek 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 *