Parole chiave protetta da Java

Parole chiave protetta da Java

“Il controllo dei privilegi Java è realizzato dal modificatore di accesso. I tre modificatori di accesso offerti da Java sono pubblici, protetti e privati. Andremo con il modificatore di accesso protetto, che è limitato al livello dei membri. La parola chiave protetta varia dalla parola chiave privata in un modo che facilita l'accesso alle sottoclassi di altri pacchetti e al di fuori delle classi ma sotto forma di eredità. La parola chiave protetta non può essere designata nelle classi e nelle interfacce esterne. Gli utenti non possono creare un'istanza di classe al di fuori del pacchetto poiché le funzioni sono protette con la parola chiave protetta."

Esempio 1

La parola chiave protetta viene utilizzata prima di dichiarare un particolare attributo. Consideriamo il programma per sapere se gli attributi protetti sono accessibili in Java.

Abbiamo costruito una classe semplice chiamata "dipendente" nella sceneggiatura. Quindi, abbiamo dichiarato gli attributi "empname", "empemail" e "empage" della classe usando il modificatore protetto. Ora abbiamo protetto queste variabili in classe. Successivamente, abbiamo creato la sottoclasse "ProtectedCase1" del "dipendente" di classe impiegando la parola chiave estesa. Qui, abbiamo generato l'attributo privato nel metodo principale (), il che significa che solo questa classe può accedervi.

Quindi, abbiamo definito l'oggetto "empobj" della classe "ProtectedCase1". Abbiamo accettato a ciascun attributo protetto del "dipendente" di classe con l'oggetto "empobj" nel "sistema.fuori.funzione println () "per stampare i valori. Inoltre, abbiamo stampato il valore dell'attributo privato qui.

L'output ha dimostrato che i valori degli attributi protetti della superclasse sono accessibili all'interno della sottoclasse.

Esempio 2

Abbiamo visto l'accessibilità della parola chiave protetta nei programmi Java sopra. Qui, abbiamo creato due pacchetti diversi e abbiamo acceduto ai metodi protetti.

Il programma viene salvato nell'animale.File Java ", che si trova all'interno del pacchetto" P1 ". Successivamente, abbiamo creato la classe "animale", che è anche il nome del file Java. Attraverso l'uso del modificatore "protetto", abbiamo costruito la funzione "Cat ()" e assegnato il sistema.fuori.Metodo println () per stampare il messaggio specificato. Abbiamo invocato questa funzione protetta all'interno di un altro pacchetto come di seguito.

Abbiamo creato un altro pacchetto e salvato il file Java come "ProtectedCase2" lì. Abbiamo la definizione di classe "ProtectedCase2" nel file. Qui, abbiamo un metodo principale () in cui è stato dichiarato l'oggetto "P" di classe "ProtectedCase2" e, con questo oggetto, abbiamo cercato di accedere alla funzione protetta Cat () della classe "Animal" situata nel pacchetto "P1".

Una volta eseguito il programma, si è verificato l'errore di compilazione, come nella schermata seguente. Di conseguenza, non possiamo accedere all'attributo protetto in pacchetti diversi.

Esempio 3

Il prossimo approccio è utilizzare la parola chiave protetta per l'attributo di una classe e chiamare quell'attributo all'interno di un'altra classe.

Abbiamo stabilito una classe "Stringclass" e il blocco della classe è definito con l'attributo stringa "STR", che è mantenuto protetto. L'attributo stringa protetto "STR" è inizializzato con il messaggio stringa. Successivamente, abbiamo creato una classe, "ProtectedCase3", con il modificatore di accesso pubblico e impiegato il metodo principale del programma (). Il metodo principale () viene dichiarato con l'oggetto "s" della classe "Stringclass" e quell'oggetto è chiamato attributo protetto "STR" per stampare il valore della stringa all'interno del "sistema.fuori.Print () "Metodo.

Il messaggio stringa dell'attributo protetto viene visualizzato qui. Quindi, gli attributi protetti sono accessibili nell'altra classe di Java.

Esempio 4

Il programma viene distribuito all'interno dello stesso pacchetto e accede al metodo protetto ma in un'altra classe dello stesso pacchetto.

Abbiamo un file chiamato "Studente.Java "dove abbiamo costruito il metodo di classe" Student "e creato il metodo Show ().

Successivamente, abbiamo creato un altro file, "ProtectedCase4", nello stesso pacchetto, "P1" e chiamato la funzione "Show ()", che è protetto con l'oggetto "ST" della classe "Studente".

La funzione protetta restituisce l'output nella forma della stringa, che viene chiamata in un'altra classe dello stesso pacchetto.

Esempio 5

La funzione protetta della classe base può anche essere accessibile sopravvalutando la classe derivata. Vediamo la dimostrazione di questa affermazione di seguito.

Abbiamo creato la funzione View () con il prefisso "protetto" nella classe base "myMessage", in cui abbiamo specificato il messaggio. Questo messaggio verrà visualizzato quando la funzione protetta è accessibile. Successivamente, abbiamo stabilito una classe derivata "ProtectedCase5" estendendo la classe base "MyMessage". Lì, abbiamo nuovamente definito la funzione View () Protected e abbiamo sovrascritto l'istruzione stampata dalla precedente. Successivamente, abbiamo una dichiarazione dell'oggetto di classe derivato "OBJ", che invoca la funzione "View ()".

La funzione protetta è stata sovrascritta correttamente al momento dell'esecuzione, che viene visualizzata sul prompt.

Esempio 6

Poiché è possibile accedere alle variabili protette della classe genitore nella classe figlio, che abbiamo visto nel programma di cui sopra. Ora abbiamo assegnato il modificatore protetto alla classe esterna e abbiamo cercato di accedervi nel metodo principale ().

Abbiamo costruito la classe "ProtectedCase2" con il prefisso "protetto". La classe diventa protetta per il file del programma Java. Nella classe protetta "ProtectedCase2", abbiamo distribuito la funzione "Print ()", che contiene il messaggio di stampa. Successivamente, abbiamo un metodo principale () della classe "ProtectedCase2". Qui, abbiamo chiamato la classe "ProtectedCase2" per creare il suo oggetto, che è dichiarato "PC", in cui abbiamo invocato il costruttore della classe "ProtectedCase2" con la nuova parola chiave. Quindi, usando l'oggetto "print ()", abbiamo chiamato il metodo "print ()" della classe protetta.

La compilazione del programma Java di cui sopra genera l'errore che la classe protetta non può essere consentita qui.

Conclusione

Specifichiamo le parole chiave protette in base al tipo di accesso previsto al momento della compilazione. Il modificatore di accesso "protetto" è molto efficace per la funzione ereditata che utilizza la stessa classe e gli attributi. La classe principale e una delle sottoclassi figlio che utilizzano la parola chiave protetta hanno sempre una relazione genitore-figlio. Abbiamo visto vari casi del modificatore di accesso protetto, che dimostra il suo utilizzo in Java.