Determinar la clase de un objeto Scala

Para determinar la clase de un objeto Scala usamos el método getClass . Este método devuelve los detalles de la clase, que es la clase principal de la instancia.
A continuación se muestra el ejemplo para determinar la clase de un objeto Scala.

Método de llamada con argumento –

Ejemplo 1:

// Scala program to determine the class of a Scala object
  
// Creating object 
object Geeks
{ 
    // Using getClass method
    def printClass(num: Int*) 
    {
        println("class: " + num.getClass)
    }
      
    // Main method 
    def main(args: Array[String]) 
    { 
        // Calling parameter with parameter
        printClass(4, 2)
    } 
} 

Producción:

class: class scala.collection.mutable.WrappedArray$ofInt

En el ejemplo anterior, llamar al método printClass con parámetro demuestra la clase Scala.

Método de llamada sin argumento –

Ejemplo #2:

// Scala program to determine the class of a Scala object
  
// Creating object 
object Geeks 
{ 
    // Using getClass method
    def printClass(num: Int*) 
    {
        println("class: " + num.getClass)
    }
      
    // Main method 
    def main(args: Array[String]) 
    { 
        // Calling method without parameter
        printClass()
    } 
} 

Producción:

class: class scala.collection.immutable.Nil$

En el ejemplo anterior, llamar al método printClass sin parámetro demuestra la clase Scala.

Con métodos get* adicionales:

Ejemplo #3:

// Scala program to show how 
// the additional get* methods work
  
sealed trait Person
class Boy extends Person
class Girl extends Person
  
// Creating object
object Person 
{
    // factory method
    def getPerson(s: String): Person = 
        if (s == "Boy") new Boy else new Girl
}
  
object ObjectCastingTest extends App 
{
  
    val person = Person.getPerson("Boy")
      
    // class object_casting.Boy
    println("person: " + person.getClass)
      
    // object_casting.Boy
    println("person: " + person.getClass.getName)  
      
    // Boy
    println("person: " + person.getClass.getSimpleName)  
      
    // object_casting.Boy
    println("person: " + person.getClass.getCanonicalName)  
  
}

Producción:

person: class Boy
person: Boy
person: Boy
person: Boy

El código anterior muestra cómo funcionan getName, getSimpleName,y getCanonicalNamefuncionan los métodos get* adicionales.

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 *