Αντικειμενοστραφής προγραμματισμός

ΤΕΙ Δυτικής Μακεδονίας

Τμήμα Διοίκησης Επιχειρήσεων

Έτος: 2015

Διδάσκων: Δημήτριος Συνδουκάς

Περιγραφή Μαθήματος

Στόχος του μαθήματος είναι να γνωρίσει ο φοιτητής τις δυνατότητες του αντικειμενοστραφούς προγραμματισμού και συγκεκριμένα της γλώσσας C++ (ή ισοδύναμης). Να έχει την δυνατότητα να αναλύει ένα πρόβλημα και να σχεδιάζει τα βήματα επίλυσής του μέσα από έναν αλγόριθμο. Να μεταφράζει τον αλγόριθμο σε εντολές της C++ (ή ισοδύναμης) καθώς και να ελέγχει το τελικό αποτέλεσμα και να το αξιολογεί. Σκοπός του μαθήματος είναι να κατανοήσει ο φοιτητής ότι ο Η/Υ μπορεί να είναι ένα μέσο για την επίλυση προβλημάτων, μέσα από τη δυνατότητά του να εκτελεί πράξεις και λειτουργίες γρήγορα. Στη συνέχεια να μπορεί να αναλύσει ένα πρόβλημα σε βήματα αλγορίθμου τα οποία έπειτα θα μεταφράσει σε εντολές μιας γλώσσας προγραμματισμού. Επιπλέον, είναι η εκμάθηση μιας διαδικασιακής γλώσσας προγραμματισμού όπως η C, ώστε να τη χρησιμοποιεί σαν μέσο για την επίλυση προβλημάτων.

Video-Διαλέξεις

Διάλεξη 01: Εισαγωγή - Συναρτήσεις

Εισαγωγή, υπερφόρτωση συνάρτησης, εξ ορισμού τιμή παραμέτρου, αναφορικές μεταβλητές.

Διάλεξη 02: Κλάσεις

Κλάσεις, αντικείμενα. Πότε χρησιμοποιούμε κλάσεις. Private και public μεταβλητές και συναρτήσεις. Εκτενή παραδείγματα.

Διάλεξη 03: Constructors και destructors

Constructors (default και μη) και destructors. Υπερφόρτωση συναρτήσεων. Παραδείγματα.

Διάλεξη 04: Δείκτες και δυναμική δέσμευση μνήμης

Δείκτες και δυναμική δέσμευση και αποδέσμευση μνήμης (new και delete).

Διάλεξη 05: Κληρονομικότητα

Κληρονομικότητα απλή και πολλαπλή. Κληρονομικότητα public, private και protected.

Διάλεξη 06: Φιλικές συναρτήσεις - Πολυμορφισμός

Φιλικές συναρτήσεις. Πολυμορφισμός, εικονικές συναρτήσεις (virtual) και αμιγώς εικονικές (pure virtual).

Διάλεξη 07: Υπερφόρτωση τελεστών - Χώροι ονομάτων

Υπερφόρτωση τελεστών. Παραδείγματα. Χώροι ονομάτων (namespaces).

Διάλεξη 08: Αρχεία - Εξαιρέσεις

Αρχεία (ifstrem, ofstream, κλπ) και εξαιρέσεις.

Διάλεξη 09: Ειδικά θέματα γλώσσας C/C++

Ειδικά θέματα γλώσσας C/C++. Αλήθεια και ψέμα, συντομογραφίες τελεστών, ο τελεστής κόμμα, ο τελεστής υπο-συνθήκη, αναδρομικές συναρτήσεις, ένωση, typedef, απαριθμήσεις, ειδικοί τύποι μεταβλητών, τελεστές κατά δυαδικό ψηφίο.