Σε αυτό το σεμινάριο, θα μάθετε-
- Τροποποιητές πρόσβασης
- Κατασκευαστής
Τροποποιητές πρόσβασης
Πρόσβαση τροποποιητές ή Πρόσβαση προσδιοριστές στο C # είναι οι λέξεις-κλειδιά που χρησιμοποιούνται για να καθορίσουν την ορατότητα μιας κατηγορίας ιδιότητα ή μέθοδο. Χρησιμοποιείται όταν δεν θέλετε άλλα προγράμματα να βλέπουν τις ιδιότητες ή τις μεθόδους μιας τάξης. Οι τροποποιητές πρόσβασης περιορίζουν την πρόσβαση, έτσι ώστε άλλα προγράμματα να μην μπορούν να δουν τις ιδιότητες ή τις μεθόδους μιας κλάσης.
Υπάρχουν 3 τύποι τροποποιητών πρόσβασης στο C #. Θα μάθουμε τροποποιητές πρόσβασης στο C # με παράδειγμα προγράμματος όπως εξηγείται παρακάτω.
Τροποποιητές ιδιωτικής πρόσβασης
Όταν αυτός ο προσδιοριστής πρόσβασης στο C # είναι συνδεδεμένος είτε σε μια ιδιότητα είτε σε μια μέθοδο, αυτό σημαίνει ότι δεν είναι δυνατή η πρόσβαση σε αυτά τα μέλη από κανένα εξωτερικό πρόγραμμα.
Ας πάρουμε ένα παράδειγμα και να δούμε τι συμβαίνει όταν χρησιμοποιούμε τον τροποποιητή ιδιωτικής πρόσβασης.
Ας τροποποιήσουμε τον τρέχοντα κώδικα στο αρχείο Tutorial.cs. Στη μέθοδο SetTutorial, ας αλλάξουμε τη δημόσια λέξη-κλειδί σε ιδιωτική.
Ας περάσουμε τώρα στο αρχείο Program.cs. Θα παρατηρήσετε ότι υπάρχει μια κόκκινη γραμμή squiggly κάτω από τη μέθοδο SetTutorial.
Δεδομένου ότι τώρα έχουμε δηλώσει τη μέθοδο SetTutorial ως ιδιωτική στην κατηγορία Tutorial, το Visual Studio το εντόπισε. Είπε στον χρήστη επισημαίνοντάς του ότι τώρα αυτή η μέθοδος δεν θα λειτουργήσει από το αρχείο Program.cs.
Τροποποιητές δημόσιας πρόσβασης
Όταν αυτός ο τροποποιητής πρόσβασης στο C # είναι συνδεδεμένος είτε σε μια ιδιότητα είτε σε μια μέθοδο, αυτό σημαίνει ότι μπορεί να έχει πρόσβαση σε αυτά τα μέλη από οποιοδήποτε εξωτερικό πρόγραμμα. Το έχουμε ήδη δει στα προηγούμενα παραδείγματα.
Δεδομένου ότι έχουμε ορίσει τις μεθόδους μας ως δημόσιες στην τάξη Tutorial, είναι προσβάσιμες από το αρχείο Program.cs.
Τροποποιητές πρόσβασης με προστασία
Όταν αυτός ο τροποποιητής πρόσβασης είναι συνδεδεμένος είτε σε μια ιδιότητα είτε σε μια μέθοδο, αυτό σημαίνει ότι η πρόσβαση σε αυτά τα μέλη είναι δυνατή μόνο από κλάσεις που κληρονομούνται από την τρέχουσα τάξη. Αυτό θα εξηγηθεί με περισσότερες λεπτομέρειες στην κλάση κληρονομιάς.
C # Κατασκευαστής
Οι κατασκευαστές συνηθίζουν να προετοιμάζουν τις τιμές των πεδίων κλάσης κατά τη δημιουργία των αντίστοιχων αντικειμένων τους. Ένας κατασκευαστής είναι μια μέθοδος που έχει το ίδιο όνομα με αυτήν της τάξης. Εάν ένας κατασκευαστής ορίζεται σε μια κλάση, τότε θα παρέχει την πρώτη μέθοδο που καλείται όταν δημιουργείται ένα αντικείμενο. Ας υποθέσουμε αν είχαμε μια τάξη που ονομάζεται Υπάλληλος. Η μέθοδος κατασκευαστή θα ονομάζεται επίσης Υπάλληλος ().
Τα ακόλουθα βασικά πράγματα πρέπει να σημειωθούν σχετικά με τις μεθόδους κατασκευαστή
- Ο προεπιλεγμένος τροποποιητής πρόσβασης C # για τον κατασκευαστή πρέπει να γίνει δημόσιος.
- Δεν πρέπει να υπάρχει τύπος επιστροφής για τη μέθοδο κατασκευαστή.
Ας δούμε τώρα πώς μπορούμε να ενσωματώσουμε τον χρήστη των κατασκευαστών στον κώδικα μας. Θα χρησιμοποιήσουμε κατασκευαστές για να προετοιμάσουμε τα πεδία TutorialID και TutorialName σε ορισμένες προεπιλεγμένες τιμές κατά τη δημιουργία του αντικειμένου.
Βήμα 1) Το πρώτο βήμα είναι να δημιουργήσουμε τον κατασκευαστή για το μάθημα μας. Σε αυτό το βήμα, προσθέτουμε τον παρακάτω κώδικα στο αρχείο Tutorial.cs.
Επεξήγηση κώδικα: -
- Προσθέτουμε πρώτα μια νέα μέθοδο που έχει το ίδιο όνομα με αυτήν της τάξης. Επειδή είναι το ίδιο όνομα με την τάξη, το C # το αντιμετωπίζει ως κατασκευαστική μέθοδο. Τώρα λοιπόν κάθε φορά που η μέθοδος κλήσης δημιουργεί ένα αντικείμενο αυτής της κλάσης, αυτή η μέθοδος θα καλείται από προεπιλογή.
- Στον κατασκευαστή Tutorial, ορίζουμε την τιμή του TutorialID σε 0 και το TutorialName σε "Default". Έτσι, όταν δημιουργείται ένα αντικείμενο, αυτά τα πεδία θα έχουν πάντα αυτές τις προεπιλεγμένες τιμές.
Ας περάσουμε τώρα στο αρχείο Program.cs και απλώς αφαιρέστε τη γραμμή, η οποία καλεί τη μέθοδο SetTutorial Αυτό συμβαίνει επειδή θέλουμε απλώς να δούμε πώς λειτουργεί ο κατασκευαστής.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{public int TutorialID;public string TutorialName;public Tutorial(){TutorialID=0;TutorialName="Default";}public void SetTutorial(int pID,string pName){TutorialID=pID;TutorialName=pName;}public String GetTutorial(){return TutorialName;}static void Main(string[] args){Tutorial pTutor=new Tutorial();Console.WriteLine(pTutor.GetTutorial());Console.ReadKey();}}}
Επεξήγηση κώδικα: -
- Το πρώτο βήμα είναι να δημιουργήσετε ένα αντικείμενο για την τάξη Tutorial. Αυτό γίνεται μέσω της «νέας» λέξης-κλειδιού.
- Χρησιμοποιούμε τη μέθοδο GetTutorial της τάξης Tutorial για να λάβουμε το όνομα TutorialName. Στη συνέχεια, εμφανίζεται στην κονσόλα μέσω της μεθόδου Console.WriteLine.
Εάν ο παραπάνω κωδικός εισαχθεί σωστά και το πρόγραμμα εκτελεστεί, θα εμφανιστεί η ακόλουθη έξοδος.
Παραγωγή:
Από την έξοδο, μπορούμε να δούμε ότι ο κατασκευαστής όντως κλήθηκε και ότι η τιμή του TutorialName ορίστηκε σε "Προεπιλογή".
Σημείωση: Εδώ η τιμή "προεπιλογή" ανακτάται από τον κατασκευαστή.
Περίληψη
- C # Access Modifiers ή Access Specifiers χρησιμοποιούνται για τον καθορισμό της ορατότητας μιας ιδιότητας κλάσης ή μεθόδου
- Ένας κατασκευαστής χρησιμοποιείται για να προετοιμάσει τα πεδία μιας κλάσης όποτε δημιουργείται ένα αντικείμενο.
- Ο κατασκευαστής είναι μια μέθοδος που έχει τα ίδια ονόματα με την ίδια την τάξη.