Ποια είναι η διαφορά μεταξύ ιδιωτικών και προστατευόμενων μελών κλάσεων C++

Poia Einai E Diaphora Metaxy Idiotikon Kai Prostateuomenon Melon Klaseon C



Η C++ είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού (OOP) που παρέχει έναν μηχανισμό για την ενθυλάκωση δεδομένων και συναρτήσεων σε μια ενιαία οντότητα που ονομάζεται κλάση. Ένα από τα βασικά χαρακτηριστικά της τάξης είναι η δυνατότητα καθορισμού του επιπέδου πρόσβασης για τα μέλη της. Στον Αντικειμενοστραφή Προγραμματισμό, προσδιοριστές πρόσβασης χρησιμοποιούνται για τον έλεγχο της ορατότητας και της προσβασιμότητας των πεδίων και των μεθόδων μιας κλάσης. Προστατεύεται , δημόσιο , και ιδιωτικός Τα επίπεδα πρόσβασης είναι οι τρεις βασικοί τύποι επιπέδων πρόσβασης στη C++.

Σε αυτήν την εγγραφή, θα συζητήσουμε τη διαφορά μεταξύ των δύο κύριων προσδιοριστής πρόσβασης μικρό, ιδιωτικός και προστατεύονται μέλη μιας τάξης C++.

Προσδιοριστής ιδιωτικής πρόσβασης

Ιδιωτικά μέλη δηλώνονται χρησιμοποιώντας τη λέξη-κλειδί « ιδιωτικός ‘. ο προσδιοριστής ιδιωτικής πρόσβασης περιορίζει την πρόσβαση στα μέλη της τάξης μόνο στην ίδια την τάξη. Ο κωδικός εκτός της τάξης δεν μπορεί να έχει πρόσβαση ή να αλλάξει ένα ιδιωτικό μέλος. Αυτό σημαίνει ότι μόνο οι μέθοδοι που δηλώνονται στην κλάση μπορούν να έχουν πρόσβαση και να λειτουργούν στο ιδιωτικά μέλη , ούτε καν παράγωγες κλάσεις δεν έχουν πρόσβαση ιδιωτικά μέλη . Μια κοινή χρήση του ιδιωτικά μέλη είναι η διασφάλιση της σωστής λειτουργίας μιας τάξης. Ιδιωτικά μέλη χρησιμοποιούνται για την ενθυλάκωση των δεδομένων της κλάσης και την παροχή ενός επιπέδου αφαίρεσης στους χρήστες της κλάσης.







#include
χρησιμοποιώντας χώρο ονομάτων std ;

τάξη παίχτης {

ιδιωτικός :
όνομα συμβολοσειράς ;
ενθ ηλικία ;

δημόσιο :
κενός getPlayer ( )
{
cout << 'Εισαγάγετε όνομα:' ;
τρώει >> όνομα ;
cout << 'Εισαγάγετε την ηλικία:' ;
τρώει >> ηλικία ;
}
κενός showPlayer ( )
{
cout << 'Ονομα: ' << όνομα << endl ;
cout << 'Ηλικία:' << ηλικία << endl ;
}
} ;

ενθ κύριος ( )
{
παίκτης πλ ;
pl. getPlayer ( ) ;
pl. showPlayer ( ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Στον παραπάνω κώδικα, χρησιμοποιούμε τις μεθόδους δημοσίων μελών getPlayer() και showPlayer() για πρόσβαση στα δύο ιδιωτικός μέλη» όνομα και ηλικία . ο getPlayer() Η λειτουργία λαμβάνει την είσοδο από τους χρήστες και την εμφανίζει στην οθόνη μέσω showPlayer() λειτουργία.



Παραγωγή







Προσδιοριστής προστατευμένης πρόσβασης

Προστατευόμενα μέλη μιας κλάσης μπορεί να προσπελαστεί τόσο από τις παραγόμενες κλάσεις όσο και από τις συναρτήσεις μέλους της ίδιας της κλάσης. Προστατευόμενα μέλη χρησιμοποιούνται για την παροχή ενός επιπέδου πρόσβασης στις παραγόμενες κλάσεις χωρίς να εκτίθενται οι λεπτομέρειες υλοποίησης στον έξω κόσμο. Προστατευόμενα μέλη δηλώνονται χρησιμοποιώντας τη λέξη-κλειδί « προστατεύονται ' και το άνω και κάτω τελεία (:) χαρακτήρας. Προστατευόμενα μέλη επιτρέπουν σε μια κλάση να επεκταθεί και να τροποποιηθεί, χωρίς να διακυβεύεται η ακεραιότητά της. Μια παράγωγη κλάση μπορεί να χρησιμοποιήσει προστατευόμενα μέλη για να βελτιώσετε ή να προσαρμόσετε τη συμπεριφορά μιας βασικής κλάσης.

Εδώ είναι ένα παράδειγμα μιας τάξης με προστατευόμενα μέλη :



#include
χρησιμοποιώντας namespace std?

παίκτης κατηγορίας {
ιδιωτικός:
όνομα συμβολοσειράς?
int ηλικία?

προστατευμένα:
int στόχους?

δημόσιο:
άκυρο το getPlayer ( )
{
cout <> όνομα;
cout <> ηλικία;
}
void showPlayer ( )
{
cout << 'Ονομα: ' << όνομα << endl;
cout << 'Ηλικία:' << ηλικία << endl;
}
} ;

class player1: δημόσιος παίκτης {

ιδιωτικός:
χώρα χορδών?

δημόσιο:
άκυρα set_goals ( int g )
{
στόχοι = g;
}
ακυρώστε το getPlayer1 ( )
{
getPlayer ( ) ;
cout <> Χώρα;
}
void showPlayer1 ( )
{
cout << 'στόχοι:' << στόχους << endl;
showPlayer ( ) ;
cout << 'Χώρα: ' << Χώρα << endl;
}
} ;

int main ( )
{
player1 pl;
pl.set_goals ( 101 ) ;
pl.getPlayer1 ( ) ;
pl.showPlayer1 ( ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}

ο παίχτης η τάξη αποτελείται από δύο ιδιωτικά μέλη , όνομα και ηλικία , ένας προστατεύονται μέλος, στόχους , και ιδιωτικός μέλη χρησιμοποιούνται μέσα στο δημόσιο λειτουργίες μελών, getPlayer() και showPlayer() . Υπάρχουν δύο τάξεις, παίχτης και παίκτης 1 , που και οι δύο είναι βασικές κλάσεις. Ενας ιδιωτικός μέλος, Χώρα και τρία δημόσιο μέθοδοι μελών συνθέτουν το παίκτης 1 τάξη. Θέτω στόχους() χρησιμοποιείται για την αλλαγή του προστατευμένου μέλους στόχους» αξία. getPlayer1() καλεί το getPlayer() λειτουργία μέλους του παίχτης τάξη ενώ επιπλέον ανακτά τα δεδομένα για τη χώρα. Παρόμοια με αυτό, showPlayer1() καλεί το showPlayer() λειτουργία μέλους και εκτυπώνει το στόχους και Χώρα αξίες.

Παραγωγή

Διαφορά μεταξύ ιδιωτικών και προστατευόμενων μελών κλάσεων C++

Εδώ παρατίθενται μερικές από τις βασικές διαφορές μεταξύ Ιδιωτικός και Προστατεύεται μέλη τάξεων C++.

1: Πεδίο εφαρμογής και λειτουργικότητα

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

2: Επίπεδο πρόσβασης

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

3: Ενθυλάκωση της τάξης

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

Τελικές σκέψεις

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