encapsulation c
Μια πλήρης επισκόπηση της ενθυλάκωσης σε C ++:
Συζητήσαμε λεπτομερώς το Abstraction στο προηγούμενο σεμινάριό μας. Η αφαίρεση, όπως γνωρίζουμε, κρύβει τις λεπτομέρειες εφαρμογής από τον χρήστη και εκθέτει μόνο τη διεπαφή που απαιτείται από τον χρήστη.
Σε αυτό το σεμινάριο, θα συζητήσουμε ένα ακόμη σημαντικό χαρακτηριστικό του OOP, δηλαδή το Encapsulation. Η αφαίρεση και η ενθυλάκωση συμβαδίζουν. Στην πραγματικότητα, μπορούμε να πούμε ότι ο ενθυλακωμένος κώδικας μας βοηθά στην αφαίρεση. Με άλλα λόγια, η ενθυλάκωση και η αφαίρεση συνδέονται στενά μεταξύ τους.
=> Επισκεφθείτε εδώ για το πλήρες μάθημα C ++ από ειδικούς.
Έτσι, μπορούμε να συζητήσουμε αυτές τις δύο έννοιες μαζί, καθώς υπάρχει μια πολύ λεπτή γραμμή μεταξύ ενθυλάκωσης και αφαίρεσης.
Τι θα μάθετε:
- Τι είναι η ενθυλάκωση;
- Εφαρμογή ενθυλάκωσης
- Διαφορά μεταξύ ενθυλάκωσης και αφαίρεσης
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τι είναι η ενθυλάκωση;
Η ενθυλάκωση δεδομένων αναφέρεται στη διαδικασία σύνδεσης δεδομένων και λειτουργιών ή μεθόδων που λειτουργούν σε αυτά τα δεδομένα σε μία μόνο μονάδα, έτσι ώστε να προστατεύεται από εξωτερικές παρεμβολές και κακή χρήση.
Αυτή είναι μια σημαντική αντικειμενοστρεφή ιδέα προγραμματισμού και οδηγεί σε μια ακόμη ιδέα OOP γνωστή ως « Απόκρυψη δεδομένων '. Το Encapsulation κρύβει δεδομένα και τα μέλη του, ενώ η αφαίρεση εκθέτει μόνο τις απαραίτητες λεπτομέρειες ή διεπαφές στον έξω κόσμο.
Κατά κάποιο τρόπο, η αφαίρεση παρουσιάζει την «αφηρημένη άποψη» των κρυφών δεδομένων στον έξω κόσμο. Έτσι κάναμε ήδη μια δήλωση ότι η ενθυλάκωση και η αφαίρεση συμβαδίζουν.
Μια τάξη στο C ++ είναι εκείνη όπου συγκεντρώνουμε μέλη δεδομένων και οι λειτουργίες που λειτουργούν σε αυτά τα μέλη δεδομένων μαζί με προσδιοριστές πρόσβασης όπως ιδιωτικές, δημόσιες και προστατευμένες αντιπροσωπεύουν ενθυλάκωση. Έχουμε ήδη συζητήσει τους προσδιοριστές πρόσβασης στο προηγούμενο σεμινάριό μας για μαθήματα και αντικείμενα.
Γνωρίζουμε επίσης ότι από προεπιλογή τα μέλη της τάξης είναι ιδιωτικά. Όταν δηλώνουμε τα μέλη της τάξης ως ιδιωτικά και τις μεθόδους πρόσβασης στα μέλη της τάξης ως δημόσια εφαρμόζουμε πραγματικά την ενθυλάκωση. Ταυτόχρονα, παρέχουμε μια αφηρημένη εικόνα των δεδομένων στον έξω κόσμο με τη μορφή δημόσιων μεθόδων.
Εφαρμογή ενθυλάκωσης
Το Encapsulation στο C ++ υλοποιείται ως κλάση που συνδυάζει δεδομένα και τις λειτουργίες που λειτουργούν σε αυτά τα δεδομένα μαζί. Κυρίως τα δεδομένα δηλώνονται ως ιδιωτικά και δεν είναι προσβάσιμα εκτός της τάξης. Οι μέθοδοι ή οι λειτουργίες δηλώνονται ως δημόσιες και είναι προσβάσιμες χρησιμοποιώντας το αντικείμενο της κλάσης.
Ωστόσο, δεν μπορούμε να έχουμε άμεση πρόσβαση σε ιδιωτικά μέλη και αυτό ονομάζεται απόκρυψη δεδομένων. Όταν γίνει αυτό, τα δεδομένα ασφαλίζονται και είναι προσβάσιμα μόνο από συναρτήσεις της συγκεκριμένης κλάσης στην οποία δηλώνονται τα δεδομένα.
// Example program #include #include using namespace std; //example class to demonstrate encapsulation class sampleData{ int num; char ch; public: //getter methods to read data values int getInt() const{ return num; } char getCh() const{ return ch; } //setter methods to set data values void setInt(int num) { this->num = num; } void setCh(char ch){ this->ch = ch; } }; int main() { sampleData s; s.setInt(100); s.setCh('Z'); cout<<'num = '< Παραγωγή:
αριθμός = 100
ch = Ζ

Στο παραπάνω πρόγραμμα έχουμε ομαδοποιήσει δύο μεταβλητές μελών μαζί με τις μεθόδους getter και setter σε μια τάξη. και αυτό είναι ένα παράδειγμα ενθυλάκωσης.
Έχουμε δηλώσει δύο μεταβλητές, δηλαδή num και ch ως ιδιωτικές μεταβλητές, έτσι ώστε να μην είναι προσβάσιμες στον έξω κόσμο. Είναι προσβάσιμα μόνο στις λειτουργίες που έχουμε δηλώσει ως δημόσιες. Έτσι έχουμε κρυμμένα μέλη δεδομένων ως ιδιωτικές μεταβλητές σε μια τάξη.
Ας πάρουμε ένα άλλο παράδειγμα για να κατανοήσουμε καλύτερα το Encapsulation στο C ++.
#include #include using namespace std; //Accounts class: includes salary info for a particular employee class Accounts{ int empId; double salary, basic, allowances, deductions; public: Accounts(int empId):empId(empId){} //read salary info void readEmployeeInfo(int empId){ cout<<'Enter basic for the employee'< basic; cout<>allowances; cout<>deductions; } //calculate salary double calculateSalary(){ salary = basic+ allowances - deductions; return salary; } //display details void display(){ salary = calculateSalary(); cout<<'Employee: '< Παραγωγή:
Εισαγάγετε βασικά για τον υπάλληλο 1: 10000
επιδόματα: 4324.43
εκπτώσεις: 1000
Υπάλληλος: 1
Μισθός: 13324.4

Αυτό είναι ένα ακόμη παράδειγμα ενθυλάκωσης. Όπως φαίνεται παραπάνω, έχουμε μια κατηγορία λογαριασμών που συνδυάζει δεδομένα λογαριασμού και όλες τις λειτουργίες που λειτουργούν σε αυτά τα δεδομένα σε λογαριασμούς μιας κλάσης. Στην κύρια λειτουργία, μπορούμε να δημιουργήσουμε ένα αντικείμενο αυτής της κλάσης και να προσπελάσουμε τις λειτουργίες για να λάβουμε τις επιθυμητές πληροφορίες.
Τώρα, εάν ορισμένες άλλες τάξεις λένε ότι τα στοιχεία του υπαλλήλου θέλουν να έχουν πρόσβαση σε δεδομένα λογαριασμών, τότε δεν μπορεί να το κάνει απευθείας. Θα πρέπει να δημιουργήσει ένα αντικείμενο λογαριασμών κλάσης και θα μπορεί να έχει πρόσβαση μόνο σε αυτά τα στοιχεία που είναι δημόσια. Με αυτόν τον τρόπο, χρησιμοποιώντας την ενθυλάκωση εγγυόμαστε τον έλεγχο πρόσβασης των δεδομένων και διασφαλίζουμε επίσης την ακεραιότητα των δεδομένων.
ερωτήσεις και απαντήσεις συνέντευξης ποιοτικού ελέγχου pdf
Διαφορά μεταξύ ενθυλάκωσης και αφαίρεσης
Η αφαίρεση και η ενθυλάκωση συνδέονται στενά μεταξύ τους. Βοηθά ενθυλάκωσης στην αφαίρεση συνδυάζοντας δεδομένα και μεθόδους που λειτουργούν μαζί σε αυτά τα δεδομένα.
Ενθυλάκωση Αφαίρεση Κρύβει τα δεδομένα Απόκρυψη εφαρμογής Συγκεντρώνει δεδομένα και μεθόδους μαζί Παρέχει μια αφηρημένη διεπαφή στον χρήστη, εκθέτοντας μόνο ό, τι απαιτείται Βοηθά στην αφαίρεση Βοηθά στην επαναχρησιμοποίηση και την ασφάλεια του κώδικα. Εφαρμόζεται ως τάξη με προσδιοριστές πρόσβασης που ορίζουν την πρόσβαση σε μέλη δεδομένων και μεθόδους Εφαρμόζεται ως αφηρημένη κλάση και διεπαφές που δεν μπορούν να δημιουργηθούν.
συμπέρασμα
Το Encapsulation είναι ένα από τα πιο σημαντικά χαρακτηριστικά του OOP καθώς μας παρέχει έναν τρόπο απόκρυψης των δεδομένων. Αυτό, με τη σειρά του, καθιστά τα δεδομένα πιο ασφαλή και τα προστατεύει από κακόβουλη χρήση.
Ενισχύσεις ενθυλάκωσης σε αφαίρεση, έτσι ώστε να μπορούμε να εκθέσουμε μόνο την απαιτούμενη διεπαφή στον τελικό χρήστη και να αποκρύψουμε άλλες λεπτομέρειες ανάλογα. Σε αυτό το σεμινάριο, ρίξαμε μια ματιά στις έννοιες αφαίρεσης και ενθυλάκωσης στο C ++.
Στο επερχόμενο σεμινάριό μας, θα συζητήσουμε την κληρονομικότητα στο C ++ με παραδείγματα.
=> Επισκεφθείτε εδώ για την αποκλειστική σειρά εκπαιδευτικών εκπαιδευτικών C ++.
Συνιστώμενη ανάγνωση
- Αφαίρεση δεδομένων σε C ++
- Τύποι δεδομένων C ++
- Καλύτερη δωρεάν σειρά C # Tutorial: Ο απόλυτος οδηγός C # για αρχάριους
- 70+ ΚΑΛΥΤΕΡΑ C ++ Tutorials για να μάθουν τον προγραμματισμό C ++ ΔΩΡΕΑΝ
- Λειτουργίες βιβλιοθήκης στο C ++
- Αντικειμενοστραφής προγραμματισμός στο C ++
- Εισαγωγή στις δομές δεδομένων στο C ++
- Λίστες Initializer στο C ++