Όλα όσα πρέπει να ξέρετε για τον αντικειμενοστρεφή προγραμματισμό στο C ++

Αυτό το άρθρο θα σας δώσει μια εις βάθος εισαγωγή σε μια προσέγγιση προγραμματισμού iteresting που είναι ο αντικειμενοστρεφής προγραμματισμός στο C ++.

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



Ξεκινώντας με αυτό το άρθρο σχετικά με τον αντικειμενοστρεφή προγραμματισμό στο C ++



Τι είναι ο αντικειμενοστρεφής προγραμματισμός;

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

Προχωρώντας με αυτό το άρθρο σχετικά με τον αντικειμενοστρεφή προγραμματισμό στο C ++



Χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού:

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

Προχωρώντας με αυτό το άρθρο σχετικά με τον αντικειμενοστρεφή προγραμματισμό στο C ++

Αντικείμενα

Τα αντικείμενα είναι οι πιο βασικές οντότητες εκτέλεσης & μεσαίου χρόνου στα OOPs. Μπορούν να αντιπροσωπεύουν δεδομένα χρήστη και μεσαίου προσδιορισμού όπως διανύσματα, χρόνο και λίστες ή οποιοδήποτε στοιχείο που πρέπει να χειριστεί το πρόγραμμα. Το πρόβλημα προγραμματισμού αναλύεται με βάση τα αντικείμενα και τη φύση της επικοινωνίας μεταξύ τους. Τα αντικείμενα πρέπει να επιλέγονται έτσι ώστε να ταιριάζουν στενά με τα αντικείμενα του πραγματικού κόσμου. Τα αντικείμενα καταλαμβάνουν χώρο στη μνήμη και δεν έχουν σχετική διεύθυνση. Ενώ τα αντικείμενα εκτέλεσης αλληλεπιδρούν στέλνοντας μηνύματα το ένα στο άλλο. Για παράδειγμα, εάν το 'Student' και * Student_roll_no 'είναι δύο αντικείμενα σε ένα πρόγραμμα, τότε το αντικείμενο Student μπορεί να στείλει ένα μήνυμα στο αντικείμενο Student_roll_no που ζητά τα σχετικά σήματα. Κάθε αντικείμενο περιέχει κώδικα για τον χειρισμό των δεδομένων. Τα αντικείμενα μπορούν να αλληλεπιδρούν μεταξύ τους με τα δεδομένα ή τον κώδικα, χωρίς να χρειάζεται να το γνωρίζουν

Προχωρώντας με αυτό το άρθρο σχετικά με τον αντικειμενοστρεφή προγραμματισμό C ++



Μαθήματα

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

φορητός υπολογιστής ηλεκτρονικών

Αυτό θα δημιουργήσει ένα αντικείμενο laptop που ανήκει στην κατηγορία ηλεκτρονικών.

τι είναι ένα φασόλι java

Προχωρώντας με αυτό το άρθρο σχετικά με τον αντικειμενοστρεφή προγραμματισμό στο C ++

Ενθυλάκωση

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

Ενθυλάκωση - Αντικειμενοστρεφής προγραμματισμός σε Cpp - Edureka

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

Προχωρώντας με αυτό το άρθρο

Αφαίρεση

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

Αυτό μπορεί να γίνει χρησιμοποιώντας προσδιοριστές πρόσβασης. Το C ++ έχει 3 προσδιοριστές πρόσβασης:

  • Ιδιωτικός
  • Προστατευμένο
  • Δημόσιο

Προχωρώντας με αυτό το άρθρο

Πολυμορφισμός

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

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

Το C ++ υποστηρίζει υπερφόρτωση χειριστή και υπερφόρτωση λειτουργίας.

  • Υπερφόρτωση χειριστή: Είναι η διαδικασία να κάνετε έναν χειριστή να εμφανίζει διαφορετικές συμπεριφορές σε διαφορετικές περιπτώσεις.
  • Υπερφόρτωση λειτουργιών: Η υπερφόρτωση λειτουργιών χρησιμοποιεί ένα μόνο όνομα λειτουργίας για την εκτέλεση διαφορετικών τύπων εργασιών.

Ο πολυμορφισμός χρησιμοποιείται εκτενώς στην εφαρμογή της κληρονομιάς.

Προχωρώντας με αυτό το άρθρο σχετικά με τον αντικειμενοστρεφή προγραμματισμό στο C ++

Κληρονομία

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

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

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

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