Βίντεο: Ποια γλώσσα προγραμματισμού να μάθω; 2024
Ο προγραμματισμός αντικειμένων είναι ένας τύπος προγραμματισμού υπολογιστών - όπως η Java - με βάση την προϋπόθεση ότι όλα τα προγράμματα είναι ουσιαστικά υπολογιστικές προσομοιώσεις αντικειμένων πραγματικού κόσμου ή αφηρημένες έννοιες. Για παράδειγμα:
-
Τα προγράμματα προσομοιωτή πτήσης επιχειρούν να μιμηθούν τη συμπεριφορά των πραγματικών αεροπλάνων.
-
Πολλά παιχνίδια υπολογιστή είναι προσομοιώσεις πραγματικών παιχνιδιών που παίζουν οι άνθρωποι, όπως το μπέιζμπολ, οι αγώνες NASCAR και το σκάκι.
-
Ακόμη και τα επιχειρηματικά προγράμματα μπορούν να θεωρηθούν ως προσομοιώσεις των επιχειρηματικών διαδικασιών, όπως η λήψη παραγγελιών, η εξυπηρέτηση πελατών, η ναυτιλία και η χρέωση.
Αντικείμενα είναι οντότητες προγραμματισμού που έχουν ορισμένα βασικά χαρακτηριστικά:
-
Ταυτότητα: Κάθε αντικείμενο σε πρόγραμμα με αντικείμενο το αντικείμενο έχει μια ταυτότητα . Με άλλα λόγια, κάθε εμφάνιση ενός συγκεκριμένου τύπου αντικειμένου -a instance - μπορεί να διακριθεί από κάθε άλλη εμφάνιση του ίδιου τύπου αντικειμένου καθώς και από αντικείμενα άλλου τύπου.
Κάθε εμφάνιση αντικειμένου έχει τη δική της θέση στη μνήμη του υπολογιστή. Έτσι, δύο αντικείμενα, αν και μπορεί να είναι του ίδιου τύπου, έχουν τις δικές τους ξεχωριστές θέσεις μνήμης. Η διεύθυνση της θέσης έναρξης για ένα αντικείμενο παρέχει έναν τρόπο διακρίσεως ενός αντικειμένου από έναν άλλο επειδή δεν υπάρχουν δύο αντικείμενα που μπορούν να καταλάβουν την ίδια θέση στη μνήμη.
Η Java διατηρεί την ταυτότητα κάθε αντικειμένου σε μεγάλο βαθμό στον εαυτό της. Με άλλα λόγια, δεν υπάρχει εύκολος τρόπος για να αποκτήσετε τη διεύθυνση μνήμης ενός αντικειμένου. Η Java δηλώνει ότι δεν είναι δική σας επιχείρηση και δικαίως. Αν η Java έκανε αυτές τις πληροφορίες άμεσα διαθέσιμες σε εσάς, θα μπείτε στον πειρασμό να το βάλτε σε κίνηση, κάτι που θα μπορούσε να προκαλέσει όλα τα προβλήματα, όπως μπορεί να σας πει ο κάθε προγραμματιστής C ή C ++.
, που είναι μια τιμή int που δημιουργείται αυτόματα για κάθε αντικείμενο και το σχεδόν αντιπροσωπεύει την ταυτότητα του αντικειμένου. Στις περισσότερες περιπτώσεις, ο κώδικας hash για ένα αντικείμενο βασίζεται στη διεύθυνση μνήμης του αντικειμένου, αλλά όχι πάντα. Η Java δεν εγγυάται ότι δύο διαφορετικά αντικείμενα δεν θα έχουν τον ίδιο κωδικό κατακερματισμού. Όταν χρησιμοποιείται με αντικείμενα, ο χειριστής ισότητας (==) δοκιμάζει στην πραγματικότητα την ταυτότητα αντικειμένου δύο μεταβλητών ή εκφράσεων. Εάν αναφέρονται στην ίδια εμφάνιση αντικειμένου, οι δύο μεταβλητές ή εκφράσεις θεωρούνται ίσες.Τύπος:
-
Ο προγραμματισμός αντικειμένων σας επιτρέπει να ορίζετε ονόματα σε διαφορετικά είδη αντικειμένων σε ένα πρόγραμμα. Στην Java, οι κλάσεις ορίζουν τύπους. Επομένως, όταν δημιουργείτε ένα αντικείμενο από έναν τύπο, λέτε ότι το αντικείμενο είναι του τύπου που καθορίζεται από την κλάση.Το ακόλουθο παράδειγμα δημιουργεί ένα αντικείμενο τύπου Τιμολόγιο: Τιμολόγιο i = νέο Τιμολόγιο ();
Σε αυτή την περίπτωση, η ταυτότητα αυτού του αντικειμένου (δηλαδή, η διεύθυνσή του στη μνήμη) αντιστοιχεί στη μεταβλητή i, την οποία ο μεταγλωττιστής γνωρίζει ότι μπορεί να κρατήσει αναφορές σε αντικείμενα τύπου τιμολογίου.
Κατάσταση:
-
Αν και κάθε εμφάνιση ενός συγκεκριμένου τύπου αντικειμένου έχει τα ίδια χαρακτηριστικά, κάθε στιγμιότυπο έχει διαφορετική κατάσταση: δηλαδή διαφορετικό συνδυασμό τιμών για κάθε ένα από τα χαρακτηριστικά του. Αν και ορισμένα χαρακτηριστικά ενός αντικειμένου είναι δημόσια, άλλα μπορεί να είναι ιδιωτικά. Τα ιδιωτικά χαρακτηριστικά μπορεί να είναι ζωτικής σημασίας για την εσωτερική λειτουργία του αντικειμένου, αλλά κανείς έξω από το αντικείμενο δεν ξέρει ότι υπάρχουν. Είναι σαν τις ιδιωτικές σας σκέψεις: επηρεάζουν αυτό που λέτε και κάνετε, αλλά κανείς δεν τις γνωρίζει αλλά εσείς.
Συμπεριφορά:
-
Ένα άλλο χαρακτηριστικό των αντικειμένων είναι ότι έχουν συμπεριφορά , που σημαίνει ότι μπορούν να κάνουν πράγματα. Όπως η κατάσταση, η συγκεκριμένη συμπεριφορά ενός αντικειμένου εξαρτάται από τον τύπο του. Αντίθετα από την κατάσταση, όμως, η συμπεριφορά δεν διαφέρει για κάθε περίπτωση ενός τύπου. Υποθέστε ότι όλοι οι μαθητές σε μια τάξη έχουν αριθμομηχανές του ίδιου τύπου. Ζητήστε από όλους να βγάλουν τους υπολογιστές και να προσθέσουν δύο αριθμούς. Όλοι οι υπολογιστές εμφανίζουν διαφορετικό αριθμό, αλλά όλοι προσθέτουν τον ίδιο τρόπο. δηλαδή, έχουν όλοι διαφορετική κατάσταση αλλά την ίδια συμπεριφορά.
Ένας άλλος τρόπος να πούμε ότι τα αντικείμενα έχουν συμπεριφορά είναι να πούμε ότι παρέχουν υπηρεσίες που μπορούν να χρησιμοποιηθούν από άλλα αντικείμενα. Έχετε δει ήδη ήδη πολλά παραδείγματα αντικειμένων που παρέχουν υπηρεσίες σε άλλα αντικείμενα. Τα αντικείμενα που δημιουργούνται από την κλάση NumberFormat, για παράδειγμα, παρέχουν υπηρεσίες μορφοποίησης που μετατρέπουν τις αριθμητικές τιμές σε ωραία διαμορφωμένες συμβολοσειρές, όπως $ 32. 95.
Στην Java, η συμπεριφορά ενός αντικειμένου παρέχεται από τις μεθόδους του. Έτσι, η μέθοδος μορφοποίησης της κλάσης NumberFormat είναι αυτό που παρέχει τη συμπεριφορά μορφοποίησης για αντικείμενα NumberFormat.