C# protetto

C# protetto
I modificatori di accesso sono parole chiave in C# utilizzate per specificare un livello di accessibilità per tutte le classi, i membri della classe e i tipi di dati. Questi sono principalmente utilizzati per prevenire cambiamenti di dati non intenzionali da parte di programmi o classi di terze parti. I modificatori di accesso vengono utilizzati per proteggere i membri che non sono pronti per l'uso pubblico dall'abuso. Gli sviluppatori valori di accesso ai modificatori perché semplificano il codice di lettura e scrittura. Di tutti i modificatori di accesso, il modificatore di accesso protetto è uno dei più significativi. In questo articolo, discuteremo del modificatore di accesso fondamentale che è un modificatore "protetto". "Protected" è una parola chiave in C# che limita l'accesso ai membri di una classe.

Qual è il modificatore protetto in C# in Ubuntu 20.04?

Il modificatore protetto si trova tra i domini modificanti di accesso privato e pubblico. È simile al privato, ma consente alle lezioni derivate di accedere al membro. Altre classi e oggetti non possono vedere le variabili e le funzioni del membro modificatore protette. Tutte le classi di figli hanno accesso a questo tipo di variabile o funzione. Per condividere funzionalità utili alle classi derivate, impieghiamo parole chiave protette.

Sintassi del modificatore protetto in C# in Ubuntu 20.04:

Il modificatore di accesso protetto ha la seguente sintassi:

Classe pubblica class_name

Classe protetta Child_Class

// corpo di classe per bambini

La precedente implementazione del modificatore protetto viene utilizzata nel linguaggio di programmazione C#. Dobbiamo usare parole chiave protette con la classe o con il membro della classe. Possiamo solo dichiarare una classe come protetta nelle classi nidificate. Non è possibile specificarlo all'interno di uno spazio dei nomi. Il modificatore di accesso protetto può essere utilizzato in tre modi diversi in C#:

  1. Protetto
  2. Protetto interno
  3. Protetto privato

Come utilizzare il modificatore protetto in C# in Ubuntu 20.04?

Utilizziamo la parola chiave protetta nel programma C# per definire una classe come protetta. Quando vogliamo fornire ai genitori l'accesso alle proprietà dei loro figli, di solito utilizziamo la parola chiave protetta. Iniziamo a definire la parola chiave protetta in C#. Dai un'occhiata agli esempi forniti di seguito per capire come utilizzare il modificatore protetto nell'altra combinazione. Per tutte le esecuzioni, abbiamo utilizzato Ubuntu 20.04.

Esempio n. 1: utilizzando il modificatore di accesso protetto in C # in Ubuntu 20.04

Possiamo utilizzare il modificatore di accesso protetto per limitare l'accesso a variabili e metodi per programmare nella stessa classe o strumento o una classe derivata. Il modificatore protetto consente alle classi che estendono la classe per accedere ai suoi membri, indipendentemente dall'assemblaggio. Il seguente esempio utilizza un tipo di classe derivato per accedere ai membri protetti di una classe di base in una classe derivata:

Il programma precedente ha lo spazio dei nomi "Program1" e, nel blocco dello spazio dei nomi, abbiamo definito la classe di nome "dipendente". La classe ha richiesto variabili create con la parola chiave "protetta". La prima variabile protetta ha una stringa di tipo definita con il nome "empname". Alla seconda variabile protetta viene assegnato il nome "empdept" e alla terza variabile protetta viene assegnato il nome "empage". Quindi il metodo "dipendente" di classe viene creato nel blocco di classe e dato il nome "getmployedetails".

Abbiamo impostato il metodo di classe con il modificatore di accesso protetto. Nel blocco del metodo protetto, abbiamo utilizzato il metodo WriteLine, che stamperà i valori delle variabili protette utilizzate nel metodo protetto. Abbiamo un'altra classe, "setinfo", definita come la classe figlio della classe genitore "dipendente". Nella classe figlio, utilizziamo i membri protetti del "dipendente" di classe madre facendolo riferimento con la classe figlio "setinfo". L'oggetto "dipendente" di classe genitore "E" è definito come invocato dalla classe genitore. L'oggetto per la classe figlio "setinfo" è anche creato come "s". Le variabili protette sono inizializzate con i valori nella classe figlio. Il metodo protetto della classe genitore è chiamato classe figlio e ottiene i valori delle variabili.

Il risultato dell'utilizzo dei modificatori protetti nel nostro programma C# è mostrato nella seguente schermata che mostra l'accesso limitato a tipi o membri della stessa o di classe figlio in base alle nostre esigenze:

Esempio n. 2: utilizzando il modificatore di accesso interno in C # in Ubuntu 20.04

Il modificatore interno specifica che l'accesso è limitato all'assembly esistente nel linguaggio di programmazione C#. Qualsiasi programma nella stessa assembly può accedere al tipo o al membro, ma non da un'altra assieme.

Il programma precedente ha lo spazio dei nomi definito come "Programma2" in cui abbiamo creato un "complesso Number" di classe con la parola chiave interna. La classe interna ha due dichiarazioni variabili come "real_number" e "img_number" di tipo intero. La classe interna ha anche dichiarato un metodo pubblico come "setvalues" e ha creato un costruttore in cui abbiamo superato due oggetti come "r" e "i". Quindi, abbiamo un altro metodo pubblico rappresentato con il nome "ShowValues", in cui abbiamo stampato le variabili "Real_number" e "IMG_NUMBER". Successivamente, la classe derivata viene dichiarata "AssembleValues" all'interno della stessa assieme in cui istanziamo la classe "complesso" nell'oggetto "C". I metodi "SetValues" e "ShowValues" sono accessibili in questa classe derivata.

Al momento dell'esecuzione del precedente programma C#, abbiamo ricevuto il seguente risultato:

Esempio n. 3: utilizzando il modificatore di accesso interno protetto in C # in Ubuntu 20.04

Il modificatore interno protetto limita l'accesso all'assemblaggio di corrente o ai tipi ereditati dalla classe contenuta.

La classe pubblica è definita come "Classe parentale" nel programma precedente. Abbiamo dichiarato un "valore" variabile come un numero intero di tipo protetto nella classe. Quindi, viene creata una classe figlio, che eredita la proprietà della classe madre. Abbiamo generato un oggetto chiamato "OBJ2" per la classe figlio. Utilizzando un riferimento a oggetti "OBJ2" alla classe genitore, stiamo accedendo alle variabili e ai metodi nella classe figlio.

L'output è mostrato nella seguente schermata terminale del programma precedente:

Esempio n. 4: utilizzando il modificatore di accesso privato protetto in C # in Ubuntu 20.04

Nel modificatore protetto privato, la classe di rallentamento dell'assemblaggio corrente e i suoi tipi derivati ​​hanno accesso. Ecco un esempio di dichiarazione dei membri con il modificatore protetto privato:

La classe base è creata come "ordine" nel programma precedente. Nella classe base, abbiamo dichiarato due variabili del modificatore protetto privato. Le due variabili sono rappresentate da "articolo" e "posizione". Il metodo viene anche creato con la parola chiave protetta privata e lo rappresenta con il nome "getOrderDetails". Il metodo privato protetto ha il metodo WriteLine in cui abbiamo impostato le due variabili precedenti. Quindi, abbiamo una classe derivata "setOrder" in cui accederanno al membro della classe base attraverso il riferimento dell'oggetto di classe derivato "S".

L'esecuzione del programma precedente ha i seguenti risultati:

Conclusione

Infine, nell'articolo di modificatore protetto C#, abbiamo superato le basi di essere protetti in C# e alcune illustrazioni su come utilizzare i modificatori di accesso protetti. Il modificatore protetto specifica come altri tipi in un programma C#, come i tipi derivati, possono accedere a un tipo e ai suoi membri. Abbiamo diversi esempi di utilizzo dei modificatori protetti e dei modificatori interni e privati ​​con la parola chiave protetta. Inoltre, il modificatore di accesso protetto ci consente di mantenere un alto livello di occultamento delle informazioni mantenendo una ricca struttura a oggetti.