Αντικειμενοστραφής προγραμματισμός
Miscellanea / / July 04, 2021
Του Guillem Alsina González, τον Οκτώβριο 2017
Εκτός από τις γλώσσες του προγραμματισμός, υπάρχουν διαφορετικοί τρόποι ή φιλοσοφίες προσέγγισης του σχεδιασμού ενός προγράμματος λογισμικό, φόρμες που αντικατοπτρίζονται στις διαφορετικές γλώσσες, οι οποίες τις αγκαλιάζουν για να ικανοποιήσουν τις απαιτήσεις ενός συγκεκριμένου τύπου εργασιών ή μιας ομάδας προγραμματιστών. Μία από αυτές τις φιλοσοφίες είναι ο αντικειμενικός προσανατολισμός.
Ο αντικειμενοστρεφής προγραμματισμός συνίσταται στο να θεωρούμε ως "αντικείμενα" τα θέματα ενδιαφέροντος του πρόγραμμα, κάθε τύπος διαφορετικού στοιχείου ορίζεται με τα δεδομένα και τις μεθόδους θεραπείας του αυτά τα.
Αυτό επιτρέπει, βασικά, να αντιμετωπίζονται αυτά τα αντικείμενα ως ένας ακόμη τύπος δεδομένων, στον οποίο να εφαρμόζονται μέθοδοι και να δημιουργούνται κατασκευές που θα εκτελούν υπολογισμούς και χειρισμούς. Αυτοί οι νέοι τύποι δεδομένων δημιουργούνται από τους βασικούς τύπους που περιλαμβάνει η γλώσσα προγραμματισμού και οι λειτουργίες δηλώνονται ως διαδικασίες ή λειτουργίες.
Ένα αξιοσημείωτο χαρακτηριστικό που επιτρέπει αυτό το μοντέλο ανάπτυξης είναι η λεγόμενη "κληρονομιά", η οποία συνίσταται στη δημιουργία νέα αντικείμενα από τα προηγούμενα, τροποποιώντας ή επεκτείνοντας τόσο τα χαρακτηριστικά τους όσο και τις μεθόδους που θα ασκηθούν αυτοί.
Αν και ο αντικειμενοστραφής προγραμματισμός έχει κερδίσει δημοτικότητα στον κόσμο του προγραμματισμού από τα τέλη τη δεκαετία του '80 και στις αρχές της δεκαετίας του '90, η αλήθεια είναι ότι η δημιουργία της ξεκινά πολύ πιο πίσω, στο τέλος των ετών 60.
Η ώθηση για την επιτυχία του αντικειμενοστρεφούς προγραμματισμού ήταν, σε μεγάλο βαθμό, η διάδοση των γραφικών περιβαλλόντων χρηστών όπως τα Windows, από το παράδειγμα διευκολύνει πολύ τη δημιουργία του πόροι γραφικά, αντλήστε τα σε άλλους παρόμοιους πόρους (μέσω των προαναφερθέντων κληρονομία) και συνεργαστείτε με μεθόδους που ανταποκρίνονται σε ενέργειες χρήστη σε στοιχεία.
Από εδώ και πέρα, έγινε το κυρίαρχο παράδειγμα, που χρησιμοποιείται από μεγαλύτερο αριθμό γλωσσών, και η πιο επιτυχημένη στους προγραμματιστές, μια κατάσταση που κράτησε μέχρι σήμερα.
Οι διαφορετικοί τύποι αντικειμένων πρέπει να δηλωθούν ως κλάση σε ένα αρχικό σημείο του προγράμματος προτού μπορέσουν να δημιουργήσουν αντικείμενα που ανήκουν σε αυτήν την κλάση.
Με αυτόν τον τρόπο, το πρόγραμμα είναι δομημένο με κατανοητό τρόπο για κάποιον που το εξετάζει από έξω, ακολουθώντας μια λογική ακολουθία.
Για να καταστήσουμε αυτές τις έννοιες κατανοητές, ας πάρουμε ένα παράδειγμα: ένα πρόγραμμα του διαχείριση προσωπικού σε μια εταιρεία.
Μια τάξη θα μπορούσε να είναι αυτή του εργαζομένου, με χαρακτηριστικά όπως το όνομα, το επώνυμο, τον αριθμό του κοινωνική ασφάλιση, θέση, μισθός κ.λπ. Κάθε αντικειμενικό αντικείμενο θα ήταν διαφορετικός εργαζόμενος. Για παράδειγμα, θα μπορούσαμε να δημιουργήσουμε μια λίστα για κάθε τμήμα ή μια παγκόσμια λίστα εργαζομένων, ανάλογα με τον τρόπο διαχείρισης και νομίζω το πρόγραμμα.
Οι μέθοδοι που θα εφαρμοστούν σε αυτήν την τάξη θα μπορούσαν να είναι πολλές, όπως "αύξηση μισθού", που θα πολλαπλασίαζε τον μισθό με ένα συγκεκριμένο ποσοστό ή ημέρες διακοπών, που θα εισήγαγαν σημάδια διακοπών στο ημερολόγιο κάθε εργαζομένου, το οποίο θα διαφέρει μεταξύ των εργαζομένων για να μπορούν να απολαύσουν Βάρδιες.
Αυτή η τάξη θα μπορούσε να δημιουργήσει, μέσω της κληρονομιάς, μια νέα τάξη που ονομάζεται "κάτοχοι υποτροφιών", η οποία δεν είχε ένα χαρακτηριστικό όπως ο μισθός, αλλά ένα ή περισσότερα που σχετίζονται με την κατάρτιση, καθώς κατάσταση πρακτική άσκηση θα μπορούσε να υποχρεώσει την εταιρεία να τους εκπαιδεύσει.
Με την πάροδο των ετών, πολλές γλώσσες προγραμματισμού έχουν εμφανιστεί που αγκαλιάζουν ανοιχτά το αντικειμενοστρεφό παράδειγμα ως τρόπο εργασίας.
Η πιο γνωστή γλώσσα είναι ίσως το C ++, το οποίο δίνει στο παραδοσιακό C μια αντικειμενοστρεφή πατίνα.
Ωστόσο, υπάρχουν και άλλες γλώσσες, επίσης γνωστές, που ακολουθούν το ίδιο αντικειμενοστρεφές παράδειγμα, όπως Java, Visual Basic .NET (αναπτύχθηκε από τη Microsoft), Objective-C (χρησιμοποιείται κυρίως σε συστήματα Apple) και γλώσσες που χρησιμοποιούνται ευρέως σε εφαρμογές Διαδικτύου όπως Ruby, Python, Perl ή PHP.
Φωτογραφία: Fotolia - RMS164 / Sentavio
Θέματα Προγραμματισμού με Αντικειμενοστρεφή