Modificadores de acceso en Scala

Los modificadores de acceso en scala se utilizan para definir el campo de acceso de los miembros de los paquetes, clases u objetos en scala. Para usar un modificador de acceso, debe incluir su palabra clave en la definición de los miembros del paquete, clase u objeto. Estos modificadores restringirán los accesos. a los miembros a regiones específicas de código.
Hay tres tipos de modificadores de acceso disponibles en Scala:

  1. Privado
  2. Protegido
  3. Público

Mesa:

modificador Clase Compañero subclase Paquete Mundo
Sin Modificador/Público
Protegido No * No
Privado No No * No


¿Qué es el compañero en la tabla anterior?
Es un objeto singleton llamado igual que la clase.

1. Privado: cuando un miembro se declara como privado, solo podemos usarlo dentro de la clase de definición o a través de uno de sus objetos.

Ejemplo:

// Scala program of private access modifier
class abc
{ 
    private var a:Int = 123
    def display()
    {
        a = 8
        println(a)
    }
}
  
object access extends App
{
    // class abc is accessible 
    // because this is in the same enclosing scope
    var e = new abc()
    e.display()
}

Producción:

8

Aquí declaramos una variable ‘a’ privada y ahora solo se puede acceder a ella dentro de su clase de definición o a través del objeto de clases.

2. Protegidos: solo pueden ser accesibles desde subclases de la clase base en la que se ha definido el miembro.

Ejemplo:

// Scala program of protected access modifier
  
class gfg
{ 
    // declaration of protected member
    protected var a:Int = 123
    def display()
    {
        a = 8
        println(a)
    }
}
  
// class new1 extends by class gfg
class new1 extends gfg
{
    def display1()
    {
        a = 9
        println(a)
    }
}
  
object access extends App
{
    // class abc is accessible because this
    // is in the same enclosing scope
    var e = new gfg()
    e.display()
    var e1 = new new1()
     e1.display1()
          
}

Producción:

8
9

Cuando extendimos abc en la clase new1, la variable protegida a ahora está disponible para ser modificada porque new1 es una subclase de la clase abc.

3. Público: no hay una palabra clave pública en Scala. El nivel de acceso predeterminado (cuando no se especifica ningún modificador) corresponde al nivel de acceso público de Java. Podemos acceder a estos desde cualquier lugar.

// Scala program of protected access modifier
  
class gfg
{
    var a:Int = 123
}
object access extends App
{
    var e = new gfg()
    e.a = 444    
    println(e.a)
}

Producción:

444

Publicación traducida automáticamente

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