Τι προστατεύεται στην Java και πώς να το εφαρμόσετε;

Αυτό το άρθρο σχετικά με το Protected in Java θα σας βοηθήσει να καταλάβετε ποια είναι η προστατευμένη λέξη-κλειδί και πώς μπορεί να βοηθήσει στην ενθυλάκωση του κώδικα σας και στην αποτροπή της κατάχρησης.

Η Java παρέχει ένα σύνολο λέξεων-κλειδιών που ονομάζονται Τροποποιητές πρόσβασης που μας βοηθά στον καθορισμό της ορατότητας μιας τάξης,διεπαφή, μεταβλητή, μέλος δεδομένων, μέθοδος, κατασκευαστής κ.λπ. Υπάρχουν 4 τύποι τροποποιητών πρόσβασης, προεπιλογή, δημόσιο, ιδιωτικό και προστατευμένο, οι οποίοι υποστηρίζονται σε . Σε αυτό το άρθρο, θα επικεντρωθώ αποκλειστικά στην προστασία στην Java και θα σας βοηθήσω να λάβετε σαφείς πληροφορίες σχετικά με αυτήν.



Ακολουθούν τα θέματα που θα συζητήσω σε αυτό το άρθρο:



Τι προστατεύεται στην Java;

Όπως αναφέρθηκε προηγουμένως, το προστατευμένο στην Java είναι ένας τροποποιητής πρόσβασης που βοηθά έναν προγραμματιστή στην εκχώρηση της ορατότητας μιας τάξης, των μελών της, διεπαφές , κλπ. Όταν τα μέλη της τάξης δηλώνονται ως προστατευμένα στην Java, είναιπροσβάσιμο μόνο εντός του ίδιου πακέτο καθώς και στις άμεσες υποκατηγορίες της βασικής κατηγορίας. Ενώ χρησιμοποιείτε προστατευμένη λέξη-κλειδί στην Java, πρέπει να έχετε υπόψη ότι μόνο τα μέλη της τάξης μπορούν να δηλωθούν ως προστατευμένα. Οι τάξεις και οι διεπαφές δεν μπορούν να δηλωθούν ως προστατευμένες στην Java.

Τώρα σκέφτεστε γιατί δεν μπορούν να προστατευτούν τάξεις και διεπαφές;



Λοιπόν, αν νομίζετε ότι η απάντηση γίνεται αρκετά σαφής Εάν μια τάξη είναι προστατευμένη, τότε θα είναι ορατή μόνο στις τάξεις που υπάρχουν στο ίδιο πακέτο. Τώρα, όπως ανέφερα προηγουμένως, όταν τίποτα προστατεύεται στην Java, είναι ορατό και στις υποκατηγορίες του.

Όμως, εδώ είναι μια αμφισημία. Για άλλες τάξεις για επέκταση μιας προστατευμένης κλάσης, η γονική τάξη πρέπει να είναι ορατή. Πώς θα επεκτείνετε κάτι που δεν είναι αρχικά ορατό; Έτσι, αυτό προκαλεί αμφισημία και δεν επιτρέπεται η δημιουργία προστατευμένων τάξεων .

Τώρα ας καταλάβουμε γιατί οι διεπαφές δεν μπορούν να προστατευτούν. Λοιπόν, στην Java τα στοιχεία γενικά προστατεύονται έτσι ώστε οι υλοποιήσεις τους να μπορούν να μοιραστούν μεταξύ άλλων. Αλλά στην περίπτωση του διεπαφές , δεν έχουν εφαρμογή, επομένως δεν έχει νόημα να τα μοιραζόμαστε. Επομένως, όλες οι μέθοδοι που υπάρχουν στις διεπαφές πρέπει να είναι δημόσιες, ώστε οποιαδήποτε κλάση ή αντηρίδες να μπορούν να τις εφαρμόσουν εύκολα.



Έτσι, εσύμπορεί να δηλώσει μόνο το και τα μέλη δεδομένων όπως προστατεύονται στην Java και όχι στο τάξεις ή διεπαφές. Αυτό βοηθά στην ενθυλάκωση του κώδικα περιορίζοντας την προσβασιμότητα στα μέλη της τάξης. Βοηθά επίσης στην πρόληψη της κατάχρησης δεδομένων.

Προστατευμένη εφαρμογή

Ας προσπαθήσουμε τώρα να εφαρμόσουμε ό, τι έχουμε μάθει μέχρι τώρα. Έτσι, εδώ θα δημιουργήσω δύο τάξεις, η καθεμία ανήκει σε ένα ξεχωριστό πακέτο.

EduProtected.java στο πακέτο edu1

πακέτο edu1 δημόσια τάξη EduProtected {προστατευμένο άκυρο μήνυμα (String disp) {System.out.println ('Package 1 message recieved:' + disp)}}

EduSubClass.java στο πακέτο edu2

πακέτο edu2 εισαγωγή edu1.EduProtected δημόσια τάξη Το EduSubClass επεκτείνει το EduProtected {public static void main (String [] args) {EduProtected show = new EduProtected () // ζητά το μήνυμα () από το EduProtected class show.message ('Γεια σας από το πακέτο2 υποκατηγορία') }}

Παραγωγή:

Λήψη μηνύματος πακέτου 1: Γεια σας από την υποκατηγορία package2

Αυτό μας φέρνει στο τέλος αυτού του άρθρου.Αν θέλετε να μάθετε περισσότερα για την Java μπορείτε να ανατρέξετε στο .

Τώρα που έχετε καταλάβει τι προστατεύεται στην Java, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα εκπαίδευσης και πιστοποίησης Java J2EE και SOA της Edureka έχει σχεδιαστεί για φοιτητές και επαγγελματίες που θέλουν να γίνουν προγραμματιστές Java. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.

διαφορά μεταξύ υπερφόρτωσης και υπέρβασης στο c ++