Κεφάλαιο 11

Cards (30)

  • Αντικειμενοστραφής προγραμματισμός
    Μεθοδολογία ανάπτυξης εφαρμογών που στηρίζεται σε αυτόνομες προγραμματιστικές οντότητες με δική τους ταυτότητα και συμπεριφορά
  • Αντικείμενα
    Οι οντότητες στις οποίες αντιστοιχούν φυσικές οντότητες ή έννοιες του φυσικού μας κόσμου, και δομούνται με βάση δεδομένα (ιδιότητες) που προσδιορίζουν την υπόστασή τους και ενέργειες (κανόνες συμπεριφοράς) που εφαρμόζονται πάνω στα δεδομένα
  • Ιδιότητες
    Τα χαρακτηριστικά ενός αντικειμένου
  • Μέθοδοι
    Οι ενέργειες που καθορίζουν τη συμπεριφορά του αντικειμένου
  • Επίλυση προβλήματος στην αντικειμενοστραφή προσέγγιση
    1. Αναγνώριση και καταγραφή των αντικειμένων που συμμετέχουν
    2. Καταγραφή των ιδιοτήτων κάθε αντικειμένου
    3. Καταγραφή των υπηρεσιών/ενεργειών (μεθόδων) που προσφέρει κάθε αντικείμενο
  • Ονοματοδοσία μεθόδων

    Παρουσιάζονται με βάση την ονοματοδοσία των υποπρογραμμάτων, ώστε να διαφοροποιείται ο ρόλος τους ως λειτουργικών στοιχείων των αντικειμένων
  • Ονοματοδοσία ιδιοτήτων
    Αναπαριστούν τα δεδομένα που προσδιορίζουν την υπόστασή τους
  • Διαγραμματική αναπαράσταση αντικειμένων

    1. Χρησιμοποιούνται παραλληλόγραμμα για τα αντικείμενα, τις ιδιότητες και τις μεθόδους τους
    2. Γραμμές σύνδεσης για την περιγραφή της συνεργασίας μεταξύ τους
  • Δομή αντικειμενοστραφούς προγράμματος
    • Δίκτυο συνεργαζόμενων οντοτήτων (αντικείμενα)
    • Κάθε αντικείμενο έχει συγκεκριμένο ρόλο και παρέχει υπηρεσία ή εκτελεί ενέργεια (μέθοδο) που χρησιμοποιείται από άλλα αντικείμενα
  • Ενθυλάκωση
    Η δυνατότητα ενός αντικειμένου να συνδυάζει εσωτερικά τα δεδομένα και τις μεθόδους του
  • Διαγραμματική αναπαράσταση
    Αποτύπωση των αντικειμένων, των ιδιοτήτων και των μεθόδων τους, καθώς και της μεταξύ τους συνεργασίας
  • Αντικειμενοστραφές πρόγραμμα
    Δίκτυο συνεργαζόμενων οντοτήτων που είναι τα αντικείμενα
  • Ενθυλάκωση
    Η δυνατότητα ενός αντικειμένου να συνδυάζει εσωτερικά τα δεδομένα και τις μεθόδους χειρισμού του
  • Κλάση
    Ο γενικός τύπος ενός αντικειμένου που καθορίζει τις αρχικές ιδιότητες και τη συμπεριφορά κάθε αντικειμένου που προέρχεται από αυτή
  • Διαγραμματική αναπαράσταση κλάσεων
    1. Εντοπισμός ιδιοτήτων
    2. Εντοπισμός μεθόδων
    3. Εντοπισμός είδους συνεργασίας μεταξύ τους
  • Τοποθέτηση μεθόδων στις κλάσεις
    • Αν απαιτείται ενέργεια και από τις δύο κλάσεις, τότε υπάρχουν αντίστοιχες μέθοδοι και στις δύο
    • Αν δεν απαιτείται ενέργεια και από τις δύο, τότε η μέθοδος ορίζεται στην κλάση που ολοκληρώνει την ενέργεια
  • Ιδιότητες κλάσης
    Ορίζουν μοναδικά τα αντικείμενα και χρησιμοποιούνται από τις μεθόδους για την υλοποίηση των σχέσεων μεταξύ των κλάσεων
  • Κληρονομικότητα
    Η δυνατότητα δημιουργίας ιεραρχιών αντικειμένων
  • Σχέση κληρονομικότητας
    Η κλάση απόγονος κληρονομεί και μπορεί να χρησιμοποιήσει όλα τα δεδομένα (ιδιότητες) και τις μεθόδους που περιέχει η κλάση πρόγονος
  • Έγκυρη υποκλάση
    Μια κλάση Α μπορεί να είναι έγκυρη υποκλάση της Β αν έχει νόημα να πούμε «ένα Α είναι ένα (is_a) B»
  • Πολυμορφισμός
    Ιδιότητα του αντικειμενοστραφούς προγραμματισμού
  • Κλάση απόγονος (υποκλάση)

    • Κληρονομεί και μπορεί να χρησιμοποιήσει όλα τα δεδομένα (ιδιότητες) και τις μεθόδους που περιέχει η κλάση πρόγονος (υπερκλάση)
  • Διαγραμματική αναπαράσταση κληρονομικότητας
    Γίνεται με τη βοήθεια του ειδικού συμβόλου γενίκευσης
  • Πολυμορφισμός
    Ιδιότητα του αντικειμενοστραφούς προγραμματισμού με την οποία μια λειτουργία μπορεί να υλοποιείται με πολλούς διαφορετικούς τρόπους
  • Πολυμορφισμός
    • Επιτρέπει να επαναπροσδιορίσουμε τον τρόπο με τον οποίο λειτουργούν κάποια πράγματα, είτε αλλάζοντας τον τρόπο λειτουργίας τους είτε αλλάζοντας τα εργαλεία τα οποία χρησιμοποιούνται για την επίτευξη του στόχου
  • Πολυμορφικές μέθοδοι
    Αντικείμενα μπορούν να υποστηρίζουν συμπεριφορές (μεθόδους) με κοινό όνομα και τον ίδιο βασικό σκοπό αλλά με διαφορετική λειτουργική υλοποίηση
  • Επιλογή πολυμορφικής μεθόδου
    Το πρόγραμμα αποφασίζει ποια από τις διαφορετικές μεθόδους με την ίδια ονομασία θα ενεργοποιηθεί, με βάση την κλάση του αντικειμένου στην οποία απευθύνεται η εφαρμογή της λειτουργίας
  • Πρωτεύοντα δομικά στοιχεία αντικειμενοστραφούς σχεδίασης
    Δεδομένα, από τα οποία δημιουργούνται με κατάλληλη μορφοποίηση τα αντικείμενα (objects)
  • Πλεονεκτήματα αντικειμενοστραφούς σχεδίασης
    • Προγράμματα είναι περισσότερο ευέλικτα και επαναχρησιμοποιήσιμα
  • Ο αντικειμενοστραφής προγραμματισμός εκτός από τον τρόπο που χειρίζεται τα δεδομένα, συνεχίζει να χρησιμοποιεί την ιεραρχική σχεδίαση, τον τμηματικό προγραμματισμό και να ακολουθεί τις αρχές του δομημένου προγραμματισμού