object oriented programming c
Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό στο C ++.
Με αυτό το σεμινάριο, ξεκινάμε μια σειρά από σεμινάρια για να μάθουμε για το C ++ ως γλώσσα προγραμματισμού με αντικείμενο.
Όπως γνωρίζουμε, πριν από τον αντικειμενοστρεφή προγραμματισμό (OOP), τα προγράμματα γράφτηκαν χρησιμοποιώντας διαδικαστικές γλώσσες. Διαδικαστικές λειτουργίες άγχους στρες. Τα μεγαλύτερα προβλήματα χωρίζονται σε μικρότερα δευτερεύοντα προβλήματα και γράφονται ως συναρτήσεις.
=> Δείτε εδώ για να εξερευνήσετε τη λίστα με τα πλήρη σεμινάρια C ++.
Οι διαδικαστικές γλώσσες δεν έδωσαν προσοχή στα δεδομένα. Ως αποτέλεσμα, η πιθανότητα μη αποτελεσματικής αντιμετώπισης του προβλήματος ήταν υψηλή. Επίσης, καθώς τα δεδομένα σχεδόν παραμελήθηκαν, η ασφάλεια των δεδομένων διακυβεύτηκε εύκολα.
Όλα αυτά τα μειονεκτήματα του διαδικαστικού προγραμματισμού ξεπεράστηκαν με αντικειμενοστρεφή προγραμματισμό.
Σε αυτό το σεμινάριο, θα συζητήσουμε τις βασικές αρχές του αντικειμενοστραφούς προγραμματισμού και εν συντομία όλες τις δυνατότητες του OOP.
Τι θα μάθετε:
- Αντικειμενοστρεφής προγραμματισμός στο C ++
- Γιατί το C ++ είναι μερικό OOP;
- Χαρακτηριστικά OOP
- Πλεονεκτήματα του OOP
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Αντικειμενοστρεφής προγραμματισμός στο C ++
Ο αντικειμενοστραφής προγραμματισμός περιστρέφεται γύρω από τα δεδομένα. Η κύρια μονάδα προγραμματισμού του OOP είναι το αντικείμενο. Ένα αντικείμενο είναι μια αναπαράσταση μιας οντότητας σε πραγματικό χρόνο και αποτελείται από δεδομένα και μεθόδους ή συναρτήσεις που λειτουργούν σε δεδομένα. Με αυτόν τον τρόπο, τα δεδομένα και οι λειτουργίες συνδέονται στενά και διασφαλίζεται η ασφάλεια των δεδομένων.
Στο OOP, όλα αντιπροσωπεύονται ως αντικείμενο και όταν εκτελούνται προγράμματα, τα αντικείμενα αλληλεπιδρούν μεταξύ τους μεταδίδοντας μηνύματα. Ένα αντικείμενο δεν χρειάζεται να γνωρίζει τις λεπτομέρειες εφαρμογής ενός άλλου αντικειμένου για επικοινωνία.
Εκτός από αντικείμενα, το OOP υποστηρίζει διάφορες λειτουργίες που παρατίθενται παρακάτω:
- Μαθήματα
- Ενθυλάκωση
- Αφαίρεση
- Κληρονομία
- Πολυμορφισμός
Χρησιμοποιώντας το OOP, γράφουμε προγράμματα χρησιμοποιώντας τάξεις και αντικείμενα χρησιμοποιώντας τις παραπάνω δυνατότητες. Μια γλώσσα προγραμματισμού λέγεται ότι είναι μια πραγματική αντικειμενοστρεφής γλώσσα προγραμματισμού εάν όλα όσα αντιπροσωπεύει χρησιμοποιούν ένα αντικείμενο. Το Smalltalk είναι μια γλώσσα που είναι μια καθαρά αντικειμενοστρεφής γλώσσα προγραμματισμού.
Από την άλλη πλευρά, οι γλώσσες προγραμματισμού όπως το C ++ και η Java λέγονται ότι είναι μερικώς αντικειμενοστρεφείς γλώσσες προγραμματισμού.
Γιατί το C ++ είναι μερικό OOP;
Η γλώσσα C ++ σχεδιάστηκε με την κύρια πρόθεση να χρησιμοποιεί αντικειμενοστρεφή χαρακτηριστικά στη γλώσσα C.
Παρόλο που η γλώσσα C ++ υποστηρίζει τις δυνατότητες του OOP όπως Classes, Objects, Heritage, Encapsulation, Abstraction και Πολυμορφισμός, υπάρχουν λίγοι λόγοι λόγω των οποίων το C ++ ταξινομείται ως μερική αντικειμενοστρεφή γλώσσα προγραμματισμού.
εγκατάσταση έκλειψης για c ++
Παρουσιάζουμε μερικούς από αυτούς τους λόγους παρακάτω:
# 1) Η δημιουργία κλάσης / αντικειμένων είναι προαιρετική
Στο C ++, η κύρια λειτουργία είναι υποχρεωτική και είναι πάντα έξω από την τάξη. Ως εκ τούτου, μπορούμε να έχουμε μόνο μία κύρια λειτουργία στο πρόγραμμα και μπορούμε να κάνουμε χωρίς τάξεις και αντικείμενα.
Αυτή είναι η πρώτη παραβίαση της γλώσσας Pure OOP όπου όλα αντιπροσωπεύονται ως αντικείμενο.
# 2) Χρήση καθολικών μεταβλητών
Το C ++ έχει μια έννοια παγκόσμιων μεταβλητών που δηλώνονται εκτός του προγράμματος και μπορεί να προσεγγιστεί από οποιαδήποτε άλλη οντότητα του προγράμματος. Αυτό παραβιάζει την ενθυλάκωση. Αν και το C ++ υποστηρίζει ενθυλάκωση σε σχέση με τάξεις και αντικείμενα, δεν το φροντίζει σε περίπτωση καθολικών μεταβλητών.
# 3) Παρουσία μιας λειτουργίας φίλου
Το C ++ υποστηρίζει μια τάξη φίλων ή μια λειτουργία που μπορεί να χρησιμοποιηθεί για πρόσβαση σε ιδιωτικά και προστατευόμενα μέλη άλλων τάξεων κάνοντάς τα φίλους. Αυτό είναι ένα ακόμη χαρακτηριστικό του C ++ που παραβιάζει το πρότυπο OOP.
Εν κατακλείδι, αν και το C ++ υποστηρίζει όλες τις δυνατότητες OOP που αναφέρονται παραπάνω, παρέχει επίσης δυνατότητες που μπορούν να λειτουργήσουν ως λύση για αυτές τις δυνατότητες, έτσι ώστε να μπορούμε να τα κάνουμε χωρίς αυτές. Αυτό καθιστά το C ++ μια μερική αντικειμενοστρεφή γλώσσα προγραμματισμού.
Χαρακτηριστικά OOP
Εδώ θα παρουσιάσουμε διάφορες δυνατότητες OOP που χρησιμοποιούνται για προγραμματισμό.
Μαθήματα & Αντικείμενα
Ένα αντικείμενο είναι μια βασική μονάδα στον αντικειμενοστρεφή προγραμματισμό. Ένα αντικείμενο περιέχει δεδομένα και μεθόδους ή συναρτήσεις που λειτουργούν σε αυτά τα δεδομένα. Τα αντικείμενα καταλαμβάνουν χώρο στη μνήμη.
Μια τάξη, από την άλλη πλευρά, είναι ένα σχεδιάγραμμα του αντικειμένου. Αντίθετα, ένα αντικείμενο μπορεί να οριστεί ως παρουσία μιας κλάσης. Μια τάξη περιέχει έναν σκελετό του αντικειμένου και δεν καταλαμβάνει χώρο στη μνήμη.
Ας πάρουμε ένα Παράδειγμα ενός αντικειμένου αυτοκινήτου. Ένα αντικείμενο αυτοκινήτου με το όνομα 'Maruti' μπορεί να έχει δεδομένα όπως το χρώμα. κατασκευή, μοντέλο, όριο ταχύτητας κ.λπ. και λειτουργίες όπως επιτάχυνση. Ορίζουμε ένα άλλο αντικείμενο 'ford'. Αυτό μπορεί να έχει παρόμοια δεδομένα και συναρτήσεις όπως αυτό του προηγούμενου αντικειμένου καθώς και μερικές επιπλέον προσθήκες.
Ομοίως, μπορούμε να έχουμε πολλά αντικείμενα διαφορετικών ονομάτων που έχουν παρόμοια δεδομένα και λειτουργίες και μερικές μικρές παραλλαγές.
Έτσι, αντί να ορίσουμε αυτά τα παρόμοια δεδομένα και λειτουργίες σε αυτά τα διαφορετικά αντικείμενα, ορίζουμε ένα σχεδιάγραμμα αυτών των αντικειμένων που είναι μια κλάση που ονομάζεται Car. Κάθε ένα από τα παραπάνω αντικείμενα θα είναι παρουσίες αυτού του αυτοκινήτου κατηγορίας.
Αφαίρεση
Η αφαίρεση είναι η διαδικασία απόκρυψης άσχετων πληροφοριών από τον χρήστη. Για παράδειγμα , όταν οδηγούμε το αυτοκίνητο, πρώτα ξεκινάμε τον κινητήρα εισάγοντας ένα κλειδί. Δεν γνωρίζουμε τη διαδικασία που συνεχίζεται στο παρασκήνιο για την εκκίνηση του κινητήρα.
Χρησιμοποιώντας την αφαίρεση στον προγραμματισμό, μπορούμε να κρύψουμε περιττές λεπτομέρειες από τον χρήστη. Χρησιμοποιώντας την αφαίρεση στην εφαρμογή μας, ο τελικός χρήστης δεν επηρεάζεται ακόμη και αν αλλάξουμε την εσωτερική εφαρμογή.
Ενθυλάκωση
Η ενθυλάκωση είναι η διαδικασία με την οποία τα δεδομένα και οι μέθοδοι ή οι λειτουργίες που λειτουργούν σε αυτά συνδυάζονται μεταξύ τους. Με αυτόν τον τρόπο, τα δεδομένα δεν είναι εύκολα προσβάσιμα στον έξω κόσμο. Στο OOP επιτυγχάνουμε ενθυλάκωση κάνοντας τα μέλη δεδομένων ως ιδιωτικά και έχοντας δημόσιες λειτουργίες για πρόσβαση σε αυτά τα μέλη δεδομένων.
Κληρονομία
Η χρήση αντικειμένου κληρονομιάς μιας κλάσης μπορεί να κληρονομήσει ή να αποκτήσει τις ιδιότητες του αντικειμένου μιας άλλης κλάσης. Η κληρονομικότητα παρέχει επαναχρησιμοποίηση κώδικα.
Ως εκ τούτου, μπορούμε να σχεδιάσουμε μια νέα τάξη αποκτώντας τις ιδιότητες και τη λειτουργικότητα μιας άλλης τάξης και σε αυτήν τη διαδικασία, δεν χρειάζεται να τροποποιήσουμε τη λειτουργικότητα της μητρικής τάξης. Προσθέτουμε μόνο νέες λειτουργίες στην τάξη.
Πολυμορφισμός
Ο πολυμορφισμός σημαίνει πολλές μορφές.
Ο πολυμορφισμός είναι ένα σημαντικό χαρακτηριστικό του OOP και συνήθως εφαρμόζεται ως υπερφόρτωση χειριστή ή υπερφόρτωση λειτουργίας. Υπερφόρτωση χειριστή είναι μια διαδικασία στην οποία ένας χειριστής συμπεριφέρεται διαφορετικά σε διαφορετικές καταστάσεις. Ομοίως, στην υπερφόρτωση λειτουργίας, η ίδια λειτουργία συμπεριφέρεται διαφορετικά σε διαφορετικές καταστάσεις.
Δυναμική δέσμευση
Το OOP υποστηρίζει δυναμική δέσμευση στην οποία η κλήση λειτουργίας επιλύεται κατά το χρόνο εκτέλεσης. Αυτό σημαίνει ότι ο κωδικός που θα εκτελεστεί ως αποτέλεσμα μιας κλήσης συνάρτησης αποφασίζεται κατά το χρόνο εκτέλεσης. Οι εικονικές λειτουργίες είναι ένα παράδειγμα δυναμικής σύνδεσης.
Το μήνυμα περνά
Στο OOP, τα αντικείμενα επικοινωνούν μεταξύ τους χρησιμοποιώντας μηνύματα. Όταν τα αντικείμενα επικοινωνούν, οι πληροφορίες μεταφέρονται μεταξύ των αντικειμένων. Ένα μήνυμα αποτελείται γενικά από το όνομα του αντικειμένου, το όνομα μεθόδου και τα πραγματικά δεδομένα που πρόκειται να σταλούν σε άλλο αντικείμενο.
πώς να χειριστείτε το αναδυόμενο παράθυρο στο πρόγραμμα οδήγησης σεληνίου
Πλεονεκτήματα του OOP
Ας συζητήσουμε μερικά από τα πλεονεκτήματα του OOP.
# 1) Επαναχρησιμοποίηση
Το OOP επιτρέπει την επαναχρησιμοποίηση του υπάρχοντος κώδικα μέσω κληρονομιάς. Μπορούμε εύκολα να αποκτήσουμε την υπάρχουσα λειτουργικότητα και να την βελτιώσουμε χωρίς να χρειαστεί να ξαναγράψουμε τον κώδικα. Αυτό έχει ως αποτέλεσμα λιγότερο φουσκωμένο κώδικα.
# 2) Αρθρωτότητα
Καθώς διαμορφώνουμε το πρόγραμμα στο OOP, είναι εύκολο να τροποποιήσετε ή να αντιμετωπίσετε το πρόγραμμα εάν παρουσιαστεί κάποιο πρόβλημα ή πρόκειται να προστεθεί νέα δυνατότητα ή βελτίωση. Η τροποποίηση βοηθά επίσης στην ευκρίνεια του κώδικα και την καθιστά πιο ευανάγνωστη.
# 3) Ευελιξία
Το OOP μας βοηθά με ευέλικτο προγραμματισμό χρησιμοποιώντας τη δυνατότητα πολυμορφισμού. Καθώς ο πολυμορφισμός έχει πολλές μορφές, μπορούμε να έχουμε τελεστές ή λειτουργίες που θα λειτουργούν με πολλά αντικείμενα και έτσι θα μας σώσουν από το να γράφουμε διαφορετικές συναρτήσεις για κάθε αντικείμενο.
# 4) Συντηρησιμότητα
Η διατήρηση του κώδικα είναι ευκολότερη καθώς είναι εύκολο να προσθέσετε νέες κατηγορίες, αντικείμενα κ.λπ. χωρίς πολλές αναδιαρθρώσεις ή αλλαγές.
# 5) Απόκρυψη δεδομένων και πληροφοριών
Το OOP μας βοηθά στην απόκρυψη δεδομένων διατηρώντας έτσι τις πληροφορίες ασφαλείς από διαρροές. Μόνο τα δεδομένα που απαιτούνται για την ομαλή λειτουργία του προγράμματος εκτίθενται στον χρήστη κρύβοντας εγγενείς λεπτομέρειες.
συμπέρασμα
Το OOP είναι το πιο σημαντικό και ευέλικτο πρότυπο προγραμματισμού του σύγχρονου προγραμματισμού. Είναι ιδιαίτερα χρήσιμο στη μοντελοποίηση προβλημάτων πραγματικού κόσμου και, ως εκ τούτου, είναι πολύ δημοφιλές.
Έχουμε συζητήσει τις διάφορες δυνατότητες του OOP σε αυτό το σεμινάριο. Προχωρώντας θα συζητήσουμε λεπτομερώς όλα αυτά τα χαρακτηριστικά.
Το επόμενο θέμα αυτής της σειράς 'OOP with C ++' θα επικεντρωθεί σε μαθήματα και αντικείμενα λεπτομερώς.
=> Κάντε κλικ εδώ για την σειρά απόλυτης προπόνησης C ++.
Συνιστώμενη ανάγνωση
- OOP Java: Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό στην Java
- Τύποι δεδομένων C ++
- Top 10 Εργαλεία Επιστήμης Δεδομένων το 2021 για την εξάλειψη του προγραμματισμού
- Αφαίρεση δεδομένων σε C ++
- Εισαγωγή στις δομές δεδομένων στο C ++
- Tutorial Unix Pipes: Pipes in Unix Programming
- Εκμάθηση QTP # 8 - Μάθετε σχετικά με τους τρόπους εγγραφής QTP, το Spy Spy και το Repositories αντικειμένων
- 70+ ΚΑΛΥΤΕΡΑ C ++ Tutorials για να μάθετε C ++ Προγραμματισμό ΔΩΡΕΑΝ