Getters y Setters en Scala

Getter y Setter en Scala son métodos que nos ayudan a obtener el valor de las variables e instanciar variables de clase/rasgo respectivamente. Scala genera una clase para la JVM con un campo de variable privado y métodos getter y setter. En Scala, los getters y setters no se denominan getXxx y setXxx, pero se usan con el mismo propósito. En cualquier momento, podemos redefinir los métodos getter y setter nosotros mismos.

Setters

Setter es una técnica a través de la cual establecemos el valor de las variables de una clase. Establecer una variable de clase es simple, se puede hacer de dos maneras: –

  • Primero si los miembros de una clase son accesibles desde cualquier lugar. es decir, no se especifica ningún modificador de acceso.
    Ejemplo:

    // A Scala program to illustrate 
    // Setting the variable of a class
      
    // Name of the class is Student
    class Student 
    {
        // Class variables
        var student_name: String= " "
        var student_age: Int= 0
        var student_rollno= 0
      
    // Creating object
    object Main 
    {
        // Main method 
        def main(args: Array[String]) 
        {
            // Class object 
            var obj = new Student() 
            obj.student_name= "Yash"
            obj.student_age= 22
            obj.student_rollno= 59
            println("Student Name: " + obj.student_name) 
            println("Student Age: " + obj.student_age) 
            println("Student Rollno: " + obj.student_rollno) 
           
        
    }

    Producción:

    Student Name: Yash
    Student Age: 22
    Student Rollno: 59

    Por razones de seguridad no se recomienda. Como acceder directamente a los miembros de la clase no es un buen método para iniciar y cambiar el valor, ya que permitirá que otros identifiquen la variable.

  • Segundo, si los miembros de una clase se definen como privados. La iniciación de las variables se realiza pasando la variable al método público de esa clase usando el objeto de la clase.
    Ejemplo:

    // A Scala program to illustrate 
    // Setting the private variable of a class
      
    // Name of the class is Student
    class Student 
    {
        // Class variables
        var student_name: String= " "
        var student_age: Int= 0
        private var student_rollno= 0
          
        // Class method 
        def set_roll_no(x: Int)
        {
            student_rollno= x
        }
      
    // Creating object
    object GFG
    {
        // Main method 
        def main(args: Array[String]) 
        
              
            // Class object 
            var obj = new Student() 
            obj.student_name= "Yash"
            obj.student_age= 22
              
            //error: variable student_rollno in class 
            // Student cannot be accessed in Student
            //obj.student_rollno= 59 
            obj.set_roll_no(59)
              
            // Directly getting the value of variable
            println("Student Name: "+ obj.student_name) 
              
            // Directly getting the value of variable
            println("Student Age: "+obj.student_age) 
              
            // Through method calling
            println("Student Rollno: "+obj.student_rollno) 
          
        
    }

captadores

Los captadores son una técnica mediante la cual obtenemos el valor de las variables de una clase.

  • Obtener el valor de una variable global directamente. En el que llamamos especificar el nombre de la variable con el objeto.
  • Obtener el valor de una variable a través de llamadas a métodos utilizando el objeto. Esta técnica es buena cuando no tenemos acceso a las variables de clase pero los métodos están disponibles públicamente.
    Ejemplo:

    // A Scala program to illustrate 
    // Getting the value of members of a class
      
    // Name of the class is Student
    class Student 
    {
        // Class variables
        var student_name: String= " "
        var student_age: Int= 0
          
        // Getter
        private var student_rollno= 0
          
        // Class method 
        def set_rollno(x: Int){
            student_rollno= x
        }
        def get_rollno(): Int ={
            return student_rollno
        }
          
      
    // Creating object
    object Main 
    {
        // Main method 
        def main(args: Array[String]) 
        
              
            // Class object 
            var obj = new Student() 
            obj.student_name= "Yash"
            obj.student_age= 22
            obj.set_rollno(59)
              
            // Directly getting the value of variable
            println("Student Name: " + obj.student_name) 
              
            // Directly getting the value of variable
            println("Student Age: " + obj.student_age) 
              
            // Through method calling
            println("Student Rollno: " + obj.get_rollno) 
        
    }

    Producción :

    Student Name: Yash
    Student Age: 22
    Student Rollno: 59
    

Publicación traducida automáticamente

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