Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να Απόκρυψη Εφαρμογή αντικειμένου σε C + +

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

Κατανοήστε τα προσδιοριστικά πρόσβασης που παρέχονται από C + + που καθορίζουν τα όρια των κλάσεων . Αυτές υποδεικνύονται από τις ρητές λέξεις-κλειδιά " δημόσια ", " ιδιωτικό " και "προστατευμένο ". Με τον καθορισμό ενός συνάρτηση-μέλος με μία από αυτές τις λέξεις-κλειδιά , μπορείτε να ελέγχετε το επίπεδο πρόσβασης του εν λόγω συνάρτηση-μέλος . 2

Χρησιμοποιήστε το "κοινό " λέξη-κλειδί για να καταστήσει έναν ορισμό διαθέσιμες σε οποιονδήποτε, συμπεριλαμβανομένων των προγραμματιστών του πελάτη .

Η 3

Εφαρμόστε το " ιδιωτικό " κλειδί όταν δεν θέλετε κανέναν εκτός από τον εαυτό σας για να αποκτήσετε πρόσβαση σε έναν ορισμό κλάσης . Ιδιωτικός ορισμοί μπορεί να προσεγγιστεί μόνο με άλλες συναρτήσεις-μέλη που ανήκουν στην εν λόγω κατηγορία . Σκεφτείτε των «ιδιωτικών» ως ένα τείχος προστασίας που προστατεύει την εσωτερική εφαρμογή ενός ορισμού από έναν προγραμματιστή πελάτη .
Η 4

κηρύξει έναν ορισμό "προστατευμένο " , όταν θέλετε μόνο κληρονομεί μαθήματα για να αποκτήσετε πρόσβαση σε αυτόν τον ορισμό . Κληρονομεί τάξεις ή κατηγορίες που απορρέουν από τη λειτουργικότητα μιας κατηγορίας δεν μπορούν να έχουν πρόσβαση στα προσωπικά τους ορισμούς , αλλά μπορούν να έχουν πρόσβαση οι ορισμοί που χαρακτηρίζονται ως προστατευόμενες .
5

Ανατρέξτε στο παρακάτω παράδειγμα για να κερδίσουν μια καλύτερη κατανόηση της βήματα 2 έως 4 και ελέγχου πρόσβασης :
τάξη cfile {
κοινό:
int Open ( const char * fileName ) ?
private:
bool FileExists ( ) const ?
προστατεύονται :
int PixelCount ( ) ? }
?
Η //ιδιωτική λειτουργία " FileExists " μπορεί να χρησιμοποιηθεί από συναρτήσεις στον ορισμό
int cfile :: Open ( const char * filename) { αν
(true == cfile :: FileExists ( ) )
ρίξει ...
}
Η //κληρονομεί τάξη μπορεί να χρησιμοποιεί τα προστατευόμενα λειτουργία " PixelCount » της κλάσης βάσης
τάξη CImageFile : δημόσια cfile {
δημόσια :
ακυρώσει SomeFunc ( ) { int x
= cfile :: PixelCount ( ) ? }
?
} ?
Η //περιοχή εκτέλεσης
int main () {
αρχείο cfile ?
File.open ( referral.txt ) ?
if (true file.Exists == ( ) ) //error compiler
int x = file.PixelCount ? //σφάλμα μεταγλώττισης
}

Η

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα