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) } }
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) } }
[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