Προγραμματισμός ΙΙ


Μελέτη των βασικών εννοιών και μοντέλων που σχετίζονται με τον αντικειμενοστρεφή προγραμματισμό χρησιμοποιώντας τη γλώσσα C++. Καλύπτονται θέματα που περιλαμβάνουν: Εισαγωγή στη C++: κλάσεις, αντικείμενα, μηνύματα, μεταβλητές, μέθοδοι, κατασκευαστές, έλεγχος πρόσβασης και υπερφόρτωση. Βασικές κλάσεις. Κληρονομικότητα, πολυμορφισμός, αφηρημένες κλάσεις. Σχεδιασμός OOP, interfaces, έσω κλάσεις. Εξαιρέσεις, χειρισμός εξαιρέσεων. Είσοδος/'Εξοδος. Προσδιορισμοί public, private, protected στην κληρονομικότητα, στην ενθυλάκωση και στην επιστροφή αντικειμένων. Διαχείριση μνήμης και εκχώρηση αντικειμένων. Υπερφόρτωση μεθόδων και τελεστών. Ιεραρχία κλάσεων, αφηρημένες κλάσεις, και προσδιορισμός τύπου κατά το χρόνο εκτέλεσης. Πρότυπες συναρτήσεις και κλάσεις. Χώροι ονομάτων.


Στόχοι Μαθήματος

  Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής θα πρέπει να: Κατανοεί τα βασικά στοιχεία, τη φύση, τη δομή, και τις λειτουργίες του αντικειμενοστρεφούς προγραμματισμού. Κατανοεί και χρησιμοποιεί τις ιδιότητες και μεθόδους των κλάσεων, την κληρονομικότητα, και τις μεθόδους κατασκευής (constructors) και καταστροφής (destructor). Κατανοεί την σχέση μεταξύ των κλάσεων, των δομών και των ενώσεων. Κατανοεί και χρησιμοποιεί τις ένθετες συναρτήσεις και την αυτόματη ένθεση. Κατανοεί και χρησιμοποιεί την είσοδο/έξοδο κονσόλας στη C++. Κατανοεί και χρησιμοποιεί την εκχώρηση αντικειμένων, το πέρασμα αντικειμένων σε μεθόδους, την επιστροφή αντικειμένων από μεθόδους, και τις φίλιες συναρτήσεις. Κατανοεί και χρησιμοποιεί τις διατάξεις αντικειμένων, τους δείκτες προς αντικείμενα, τις αναφορές, το πέρασμα αναφορών σε αντικείμενα, και την επιστροφή αναφορών. Κατανοεί και χρησιμοποιεί την υπερφόρτωση συναρτήσεων και τελεστών. Κατανοεί και χρησιμοποιεί το σύστημα εισόδου/εξόδου και τις προχωρημένες λειτουργίες Ε/Ε της C++. Κατανοεί και χρησιμοποιεί τις εικονικές συναρτήσεις. Κατανοεί και χρησιμοποιεί τα πρότυπα και τον χειρισμό εξαιρέσεων. Κατανοεί και χρησιμοποιεί τον προσδιορισμό τύπου κατά το χρόνο εκτέλεσης και τους τελεστές μετατροπής τύπου. Κατανοεί και χρησιμοποιεί τους χώρους ονομάτων και τις συναρτήσεις μετατροπής.   Όταν ο φοιτητής ολοκληρώσει επιτυχώς το μάθημα θα είναι ικανός : Να περιγράφει τις Δομές Δεδομένων (Δ.Δ.) που χρησιμοποιεί. Να εκτιμά τις δυνατότητες (πλεονεκτήματα-περιορισμοί) συγκεκριμένης Δ.Δ. Να εξετάζει το εκάστοτε πρόβλημα σε σχέση με τις διαθέσιμες Δ.Δ. Να σχεδιάζει την κατάλληλη Δ.Δ. σε κάθε περίπτωση. Να δημιουργεί-υλοποιεί την επιλεγμένη Δ.Δ. σε γλώσσα προγραμματισμού C Να συγκρίνει και να αξιολογεί την απόδοση των Δ.Δ.


Προαπαιτούμενες Γνώσεις

Δεν υφίστανται προαπαιτούμενα μαθήματα.


Περιεχόμενα

Κλάσεις, αντικείμενα, μηνύματα, μεταβλητές, μέθοδοι, κατασκευαστές, έλεγχος πρόσβασης και υπερφόρτωση. Ιεραρχία κλάσεων, αφηρημένες κλάσεις, και προσδιορισμός τύπου κατά το χρόνο εκτέλεσης. Κληρονομικότητα, πολυμορφισμός, αφηρημένες κλάσεις. Σχεδιασμός OOP, interfaces, κλάσεις. Προσδιορισμοί public, private, protected στην κληρονομικότητα, στην ενθυλάκωση και στην επιστροφή αντικειμένων. Διαχείριση μνήμης και εκχώρηση αντικειμένων. Υπερφόρτωση μεθόδων και τελεστών. Πρότυπες συναρτήσεις και κλάσεις.

ΤΑΥΤΟΤΗΤΑ ΜΑΘΗΜΑΤΟΣ

Βαθμίδα:

Τύπος:

Προπτυχιακό

(A-)


Εκπαιδευτές: Γεώργιος Σίσιας
Τμήμα: Τμήμα Μηχανικών Πληροφορικής ΤΕ
Ίδρυμα: ΤΕΙ Δυτικής Μακεδονίας
Θεματική Περιοχή: Επιστήμες Υπολογιστών, Πληροφορικής, Τηλεπικοινωνιών
Άδεια Χρήσης: CC - Αναφορά - Μη Εμπορική Χρήση - Όχι Παράγωγα Έργα

Επισκεφτείτε το μάθημα

ΜΟΙΡΑΣΤΕΙΤΕ ΤΟ ΜΑΘΗΜΑ
ΣΧΕΤΙΚΑ ΜΑΘΗΜΑΤΑ