Χρησιμοποιούμε cookies για την ανάλυση της επισκεψιμότητάς μας. Αν συνεχίσετε να χρησιμοποιείτε την ιστοσελίδα μας, συναινείτε στη χρήση των cookies μας. Οκ Συμφωνώ!

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Μαθησιακά Αποτελέσματα:

Τα μαθησιακά αποτελέσματα που επιδιώκει να επιτύχει το μάθημα είναι:

  • Σε βάθος κατανόηση ενός διαφορετικού υποδείγματος προγραμματισμού από το διαδικασιακό προγραμματισμό, του αντικειμενοστραφή προγραμματισμού και των πλεονεκτημάτων που συνεπάγεται η ορθή εφαρμογή του.
  • Κατανόηση βασικής ορολογίας αντικειμενοστρέφειας (π.χ. απόκρυψη πληροφορίας, πολυμορφισμός, κληρονομικότητα, πολυμορφικές ιεραρχίες, ενθυλάκωση).
  • Απόκτηση πρακτικά εφαρμόσιμων γνώσεων για τον αποδοτικό προγραμματισμό σε μια σύγχρονη γλώσσα αντικειμενοστραφούς προγραμματισμού (π.χ. C++14, Java, C#, …).
  • Χρήση διαδεδομένων βιβλιοθηκών (π.χ. STL, Boost κ.α.).
  • Εξοικείωση με καλές πρακτικές αντικειμενοστραφούς προγραμματισμού.
  • Εισαγωγή σε βασικές αρχές αντικειμενοστραφούς σχεδίασης χρησιμοποιώντας την UML.
  • Εισαγωγή στα Design Patterns και ενδεικτική υλοποίηση ορισμένων από αυτά.




Γενικές Ικανότητες:


Οι ικανότητες που πρέπει να αποκτήσει ο πτυχιούχος και στις οποίες αποσκοπεί το μάθημα είναι:

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




Περιεχόμενο Μαθήματος:

  • Εισαγωγή στον αντικειμενοστραφή προγραμματισμό, βασικές έννοιες: απόκρυψη πληροφορίας, ενθυλάκωση, κληρονομικότητα, πολυμορφισμός.
  • Επανάληψη βασικών εννοιών της C (δείκτες, δομές, δέσμευση, αποδέσμευση μνήμης).
  • Ο αντικειμενοστραφής προγραμματισμός με τη γλώσσα C++.
  • Η έννοιες της κλάσης και των αντικειμένων.
  • Υπερφόρτωση συναρτήσεων.
  • Κατασκευαστές, καταστροφείς.
  • Υπερφόρτωση τελεστών.
  • Κληρονομικότητα, πολυμορφικές ιεραρχίες, πολλαπλή κληρονομικότητα.
  • Εξαιρέσεις, χειρισμός εξαιρέσεων.
  • Προγραμματισμός με πρότυπα.
  • Η βιβλιοθήκη STL.
  • Άλλες βιβλιοθήκες (π.χ. Boost).
  • Ο αντικειμενοστραφής προγραμματισμός σε άλλες γλώσσες προγραμματισμού (Java, Python κ.α.).
  • Βασικές αρχές αντικειμενοστραφούς σχεδίασης (χαλαρή σύζευξη, αντιστροφή εξάρτησης κ.α.).
  • Αντικειμενοστραφής σχεδίαση χρησιμοποιώντας την UML.
  • Εισαγωγή στα Design Patterns.