"Institute of Educational Policy" Books
7.5.2 Αντικειμενοστρεφής προγραμματισμός
Ο αντικειμενοστρεφής προγραμματισμός (object oriented programming), αν και έχει έλθει στο προσκήνιο τα τελευταία χρόνια, στηρίζεται σε αρχές που έχουν τις ρίζες τους στη δεκαετία του ‘60 και συγκεκριμένα στη γλώσσα Simula (Simulation Language - Γλώσσα προσομοίωσης). Η Simula δημιουργήθηκε με σκοπό να υποστηρίξει την προσομοίωση διαδικασιών του πραγματικού κόσμου. Στόχος ήταν να δημιουργηθούν ακριβή υπολογιστικά μοντέλα πολύπλοκων διαδικασιών, αποτελούμενα από εκατοντάδες τμήματα. Ένας φυσικός τρόπος για να περιγραφεί ένα σύστημα με προσομοίωση είναι να γίνει περιγραφή των αντικειμένων από τα οποία αποτελείται, της συμπεριφοράς τους καθώς και του τρόπου με τον οποίο αλληλεπιδρούν μεταξύ τους. Αυτή είναι και η φιλοσοφία του αντικειμενοστρεφούς προγραμματισμού.
Στην αντικειμενοστρεφή προσέγγιση προγραμματισμού, το αντικείμενο (object) είναι ένα προγραμματιστικό "πακέτο", το οποίο αποτελείται από διαδικασίες και δεδομένα σχετιζόμενα μεταξύ τους. Αυτές οι διαδικασίες ονομάζονται μέθοδοι (methods), ενώ τα δεδομένα ονομάζονται ιδιότητες (properties). Οι μέθοδοι σε πολλές περιπτώσεις είναι γραμμένες σε κάποια διαδικαστική γλώσσα. Το πρόγραμμα, σε αυτήν την προσέγγιση, αποτελείται από αντικείμενα, τα οποία μπορούν να αλληλεπιδρούν μεταξύ τους με μηνύματα (messages). Τα μηνύματα ενεργοποιούν τις μεθόδους των αντικειμένων, που με τη σειρά τους μπορεί να στείλουν άλλα μηνύματα. Για παράδειγμα, σε ένα πρόγραμμα γεωμετρίας ένα αντικείμενο θα μπορούσε να είναι ένα τρίγωνο. Ως ιδιότητες θα μπορούσε να έχει τα μήκη των πλευρών του, ενώ ως μεθόδους τον υπολογισμό της περιμέτρου και του εμβαδού του. Ένα μήνυμα που θα μπορούσε να δεχθεί από ένα άλλο αντικείμενο είναι "πες μου την περίμετρό σου". Ως ιδιαίτερα γνωστές γλώσσες αντικειμενοστρεφούς προγραμματισμού θα πρέπει να αναφερθούν η Smaltak, η C++ και η Java.