Palabra clave protegida de Java

Palabra clave protegida de Java

“El control de privilegio de Java lo realiza el modificador de acceso. Los tres modificadores de acceso ofrecidos por Java son públicos, protegidos y privados. Iremos con el modificador de acceso protegido, que está restringido al nivel de miembro. La palabra clave protegida varía de la palabra clave privada de manera que facilita el acceso a subclases de otros paquetes, así como fuera de las clases, pero en forma de herencia. La palabra clave protegida no se puede designar en las clases e interfaces externas. Los usuarios no pueden crear una instancia de clase fuera del paquete ya que las funciones están aseguradas con la palabra clave protegida."

Ejemplo 1

La palabra clave protegida se usa antes de declarar que cualquier atributo en particular está protegido. Consideremos el programa para saber si los atributos protegidos son accesibles en Java.

Hemos construido una clase directa llamada "empleado" en el guión. Luego, declaramos los atributos "Empname", "Empemail" y "Empage" de la clase utilizando el modificador protegido. Ahora, protegimos estas variables en la clase. A continuación, hemos creado la subclase "ProtectedCase1" de la clase "Empleado" empleando la palabra clave extender. Aquí, hemos generado el atributo privado en el método main (), lo que significa que solo esta clase puede acceder a él.

Luego, hemos definido el objeto "Empobj" de la clase "ProtegedCase1". Hemos accedido a cada atributo protegido de la clase "Empleado" con el objeto "Empobj" en el "Sistema.afuera.función println () "para imprimir los valores. Además, hemos impreso el valor de atributo privado aquí.

La salida demostró que los valores de atributo protegidos de la superclase son accesibles dentro de la subclase.

Ejemplo 2

Hemos visto la accesibilidad de la palabra clave protegida en los programas de Java anteriores. Aquí, hemos creado dos paquetes diferentes y accedimos a los métodos protegidos.

El programa se guarda en el "animal.Archivo Java ", que se encuentra dentro del paquete" P1 ". Después de eso, creamos la clase "Animal", que también es el nombre del archivo Java. Mediante el uso del modificador "protegido", hemos construido la función "Cat ()" y hemos asignado el sistema.afuera.Método println () para imprimir el mensaje especificado. Hemos invocado esta función protegida dentro de otro paquete como a continuación.

Hemos construido otro paquete y guardamos el archivo Java como "ProtegedCase2" allí. Tenemos la definición de clase "ProtegedCase2" en el archivo. Aquí, tenemos un método main () donde se ha declarado el objeto de clase "ProtegedCase2" "P", y con este objeto, intentamos acceder a la función protegida Cat () de la clase "Animal" ubicado en el paquete "P1".

Una vez que se ha ejecutado el programa, se ha producido el error de compilación, como en la pantalla a continuación. Como resultado, no podemos acceder al atributo protegido en diferentes paquetes.

Ejemplo 3

El siguiente enfoque es usar la palabra clave protegida para el atributo de una clase y llamar a ese atributo dentro de otra clase.

Hemos establecido una clase "StringClass", y el bloque de la clase se define con el atributo de cadena "STR", que se mantiene protegido. El atributo de cadena protegido "STR" se inicializa con el mensaje de cadena. A continuación, creamos una clase, "ProtectedCase3", con el modificador de acceso público y empleamos el método Program Main (). El método main () se declara con el objeto "S" de la clase "StringClass", y ese objeto se llama el atributo protegido "STR" para imprimir el valor de cadena dentro del "Sistema.afuera.Método print () ".

El mensaje de cadena del atributo protegido se muestra aquí. Por lo tanto, los atributos protegidos son accesibles en la otra clase de Java.

Ejemplo 4

El programa se implementa dentro del mismo paquete y accede al método protegido, pero en otra clase del mismo paquete.

Tenemos un archivo llamado "Estudiante.java "donde hemos construido la clase" estudiante "y creamos el método show () dentro de él.

A continuación, creamos otro archivo, "ProtectedCase4", en el mismo paquete, "P1", y llamamos a la función "show ()", que está protegida con el objeto "ST" de la clase "Estudiante" de la clase ".

La función protegida devuelve la salida en forma de cadena, que se llama en otra clase del mismo paquete.

Ejemplo 5

La función protegida de la clase base también puede ser accesible al anular la clase derivada. Veamos la demostración de esta declaración a continuación.

Hemos creado la vista de función () con el prefijo "protegido" en la clase base "mymessage", donde hemos especificado el mensaje. Este mensaje se mostrará cuando sea accesible la función protegida. Después de eso, establecimos una clase derivada "ProtegedCase5" extendiendo la clase base "MyMessage". Allí, hemos definido nuevamente la función de vista protegida () y anulado la declaración impresa de la anterior. A continuación, tenemos una declaración del objeto de clase derivado "obj", que invoca la función "ver ()".

La función protegida se ha anulado con éxito en el momento de la ejecución, que se muestra en el indicador.

Ejemplo 6

Como se puede acceder a las variables protegidas de la clase principal en la clase infantil, que hemos visto en el programa mencionado anteriormente. Ahora, hemos asignado el modificador protegido a la clase exterior e intentamos acceder a él en el método Main ().

Hemos construido la clase "ProtectedCase2" con el prefijo "Protegido". La clase se protege para el archivo del programa Java. En la clase protegida "ProtectedCase2", hemos implementado la función "print ()", que contiene el mensaje de impresión. Después de eso, tenemos un método Main () de la clase "ProtegedCase2". Aquí, hemos llamado a la clase "ProtectedCase2" para crear su objeto, que se declara como "PC", donde hemos invocado el constructor de la clase "ProtectedCase2" con la nueva palabra clave. Luego, al usar el objeto "print ()", hemos llamado el método "print ()" de la clase protegida.

La compilación del programa Java anterior genera el error de que la clase protegida no puede permitirse aquí.

Conclusión

Especificamos palabras clave protegidas de acuerdo con el tipo de acceso esperado en el momento de la compilación. El modificador de acceso "protegido" es muy efectivo para la función hereditaria que utiliza la misma clase y atributos. La clase principal y cualquiera de sus subclases hijos que usan la palabra clave protegida siempre tienen una relación parent-hijo. Hemos visto varios casos del modificador de acceso protegido, que demuestra su uso en Java.