Llamar a un método en una Super Clase en Scala

Este concepto se usa cuando queremos llamar al método de superclase. Entonces, siempre que una base y una subclase tengan métodos con el mismo nombre, para resolver la ambigüedad usamos la palabra clave super para llamar al método de la clase base. La palabra clave «super» entró en esto con el concepto de Herencia.

A continuación se muestra el ejemplo de llamar a un método en una superclase.

Ejemplo 1:

// Scala program to call a method
// on a superclass in Scala
  
/* Base class ComputerScience */
class ComputerScience
{
    def read 
    {
        println("I'm reading")
    }
    def write
    {
        println("I'm writing")
    }
}
  
/* Subclass Scala */
class Scala extends ComputerScience
{
    // Note that readThanWrite() is only in Scala class 
    def readThanWrite() 
    {
        // Will invoke or call parent class read() method 
        super.read
          
        // Will invoke or call parent class write() method 
        super.write
    }
}
  
// Creating object 
object Geeks
{
    // Main method 
    def main(args: Array[String]) 
    { 
        var ob = new Scala();
          
        // Calling readThanWrite() of Scala
        ob.readThanWrite();
    } 
} 
Producción:

I'm reading
I'm writing

En el ejemplo anterior, estamos llamando al método múltiple de superclase usando la palabra clave super .

Ejemplo #2:

// Scala program to call a method
// on a superclass in Scala
  
/* Super class Person */
class Person 
{ 
    def message() 
    { 
        println("This is person class"); 
    } 
  
} 
  
/* Subclass Student */
class Student extends Person 
{ 
  
   override def message()
    { 
        println("This is student class")
    }
      
    // Note that display() is only in Student class 
    def display() 
    { 
        // will invoke or call current class message() method  
        message ()
          
        // will invoke or call parent class message() method 
        super.message
    } 
} 
  
/* Creating object */
object Geeks
{ 
    // Main method
    def main(args: Array[String]) 
    { 
        var s = new Student(); 
  
        // Calling display() of Student 
        s.display(); 
    } 
} 
Producción:

This is student class
This is person class

En el ejemplo anterior, hemos visto que si solo llamamos al método message(), se invoca la clase actual, message()pero con el uso de la palabra clave super, tambiénmessage() se puede invocar la clase super.

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 *