Εισαγωγή
Μέχρι τώρα οι αλγόριθμοι και τα προγράμματα που έχουμε δει περιλάμβαναν μια ακολουθία διακριτών βημάτων.
Υπάρχει πιο “φυσικός” τρόπος προγραμματισμού και λέγεται αντικειμενοστραφής προγραμματισμός ή αντικειμενοστραφής σχεδίαση. Σύμφωνα με αυτόν χρησιμοποιούμε οντότητες (αντικείμενα) από τις οποίες ζητάμε να κάνουν πράγματα χωρίς να ξέρουμε το πώς θα τα κάνουν.
Ας αναλύσουμε την φράση: πιο “φυσικός” τρόπος. Όπου και να κοιτάξουμε γύρω μας θα δούμε αντικείμενα π.χ. καρέκλες, γραφείο, βιβλία, φωτιστικό, οθόνη υπολογιστή, κινητό τηλέφωνο κλπ. Κάθε αντικείμενο έχει κάποια χαρακτηριστικά (ιδιότητες) και μπορεί να κάνει κάποια πράγματα (μέθοδοι ή ενέργειες). Για παράδειγμα ένα κινητό τηλέφωνο έχει μεταξύ των άλλων χαρακτηριστικά όπως π.χ. :
- χρώμα: μαύρο
- Μήκος: 168 mm
- Πλάτος: 78 mm
- Πάχος: 8,1 mm
- Βάρος: 192 gr
Παράλληλα όμως μπορεί να κάνει πολλά (μέθοδοι ή ενέργειες) όπως πχ.:
- Καλέσει άλλο κινητό
- Δεχθεί κλήση
- Συνδεθεί στο διαδίκτυο
- Λειτουργήσει ως φακός
Όταν κάποιος μας λέει ότι αγόρασε κάποιο κινητό τότε στο μυαλό μας έρχεται ένα αντικείμενο που έχει κάποιο χρώμα, διαστάσεις και βάρος χωρίς όμως να τα ξέρουμε. Ξέρουμε οτι αυτή η συσκευή μπορεί να καλέσει, να δεχυεί κλήσεις κλπ. Άν ο κάτοχος του κινητού αρχίσει να μας το περιγράφει τότε και εμείς δίνουμε τιμές στα χαρακτηριστικά του.
Το ερώτημα που πρέπει να μας απασχολήσει τώρα είναι: πως δημιουργήθηκε το αντικείμενο στο μυαλό μας; Για να προσπαθήσουμε να το απαντήσουμε.
Όλοι οι άνθρωποι από πολύ μικρή ηλικία μαθαίνουμε να παρατηρούμε τον κόσμο γύρω μας και ειδικότερα τα αντικείμενα. Ένα μωρό παρατηρεί τους γονείς του, τις καρέκλες, τα φωτιστικά, τα παιχνίδια του. Μέσα από την παρατήρηαση αντιλαμβάνεται ότι κάποια αντικείμενα έχουν ομοιότητες όπως π.χ. η μάνα του, ο πάτέρας του, η γιαγιά του, ο παππούς, τα αδέλφια του, η νόνά. Παραβλέπωντας κάποιες λεπτομέρειες (ένας έχει γένια και άλλος όχι, κάποιοι είναι μικρόσωμοι και άλλοι μεγαλόσωμοι) τα πρόσωπα έχουν κοινά χαρακτηριστικά (δύο μάτια, ένα κεφάλι, δύο πόδια κοκ) και ενέργειες (χαμογελούν, τρώνε, μιλάνε, περπατούν κοκ). ‘Ετσι δημιουργούμε μία “γενική” οντότητα που στην πληροφορική καλείται ΚΛΑΣΗ. Στο συγκεκριμένο παράδειγμα η κλάση που δημιουργείται είναι ο ΑΝΘΡΩΠΟΣ.
Ένα παράδειγμα αντικειμενοστραφή προγραμματισμού;
Ας δούμε ένα παράδειγμα προγράμματος που χρησιμοποιεί αντιεκιμενοστραφή προγραμματισμό. Αυτό το πρόγραμμα μας δίνει την δυνατότητα να εμφανίσουμε όσα τετράγωνα θέλουμε που να κινούνται από τυχαία σημεία τηε οθόνης με αναπήδηση όταν συγκρούονται με άλλα τετράγωνα ή με τα άκρα του παραθύρου. Αφού διαλέξουμε χρώμα και ταχύτητα πατάμε το κουμπί “Δημιουργία τετραγώνου” και τότε θα εμφανιστεί ένα τετράγωνο σε τυχαία θέση.
Πως λειτουργεί αυτό το πρόγραμμα; Αρχικά έχει σχεδιαστεί ένα αφηρημένο τετράγωνο. Αυτό το τετράγωνο δεν είναι ορατό διότι είναι στην ουσία μια περιγραφή του πως θα πρέπει να είναι αν θελήσουμε να εμφανιστεί. Αυτό το αφηρημένο τετράγωνο λέγεται ΚΛΑΣΗ. Η κλάση περιέχει δύο μεταβλητές (χρώμα και ταχύτητα) και ένα υποπρόγραμμα που φροντίζει για την την κίνηση του τετραγώνου. Όταν πατάμε το κουμπί Δημιουργία Τετραγώνου τότε δημιουργείται ένα αντίγραφο της κλάσης (ANTIKEIMENO) το οποίο και τοποθετείται στην οθόνη και οι μεταβλητές του (χρώμα και ταχύτητα) έχουν συγκεκριμένες τιμές. Μπορύμε να φτιάξουμε όσα αντίγραφα θέλουμε.
Τα πλεονεκτήματα του αντικειμενοστραφή προγραμματισμού δεν είναι τόσο ευδιάκριτα στα απλά προγράμματα. Όσο πιο πολύπλοκο ένα πρόγραμμα τόσο πιο έντονα τα πλεονεκτήματα του αντικειμενοστραφή προγραμματισμού όπως π.χ. η ενθυλάκωση. η κληρονομικότητα και ο πολυμορφισμός που θα δούμε παρακάτω.
Ορισμός
O Αντικειμενοστραφής Προγραμματισμός προσπαθεί να αναπαραστήσει αντικείμενα της καθημερινής ζωής μας (αυτοκίνητα, ζώα, υπάλληλοι, λογαριασμοί τραπέζης κλπ) με ομάδες εντολών που ονομάζονται αντικείμενα.
Αντικειμενοστραφής προγραμματισμός (object-oriented programming) ή αντικειμενοστραφής σχεδίαση είναι μια μεθοδολογία ανάπτυξης εφαρμογών η οποία στηρίζεται σε αυτόνομες προγραμματιστικές οντότητες με δική τους ταυτότητα και συμπεριφορά. Οι οντότητες αυτές καλούνται αντικείμενα (objects), αντιστοιχούν σε φυσικές οντότητες ή έννοιες του φυσικού μας κόσμου, και δομούνται με βάση δεδομένα (ιδιότητες) που προσδιορίζουν την υπόστασή τους και ενέργειες (κανόνες συμπεριφοράς) που εφαρμόζονται πάνω στα δεδομένα. Σε μια εφαρμογή, ένα αντικείμενο είναι ο ομαδοποιημένος συνδυασμός δεδομένων και κώδικα, τα οποία έχουμε τη δυνατότητα να χειριστούμε ενιαία. Tα δεδομένα αποτελούν τα χαρακτηριστικά ενός αντικειμένου και αναφέρονται ως ιδιότητες (properties) ενώ οι ενέργειες καθορίζουν τη συμπεριφορά του. Οι ενέργειες στον αντικειμενοστραφή προγραμματισμό αναφέρονται και ως μέθοδοι (methods).
Κάθε αντικείμενο περιλαμβάνει μεταβλητές (δεδομένα) και υποπρογράμματα για την επεξεργασία αυτών των μεταβλητών.
Οι μεταβλητές ονομάζονται και Ιδιότητες ή Δεδομένα ή Χαρακτηριστικά.
Τα υποπρογράμματα ονομάζονται και Μέθοδοι ή Ενέργειες ή Λειτουργίες.
Ερωτήσεις ανάπτυξης απο Πανελλαδικές εξετάσεις
- xxxxxxxxxxxxxxxxxx