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:
- Privado
- Protegido
- Público
Mesa:
modificador | Clase | Compañero | subclase | Paquete | Mundo |
---|---|---|---|---|---|
Sin Modificador/Público | Sí | Sí | Sí | Sí | Sí |
Protegido | Sí | Sí | Sí | No * | No |
Privado | Sí | Sí | 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