Οντοκεντρικός Προγραμματισμός

Κλεάνθης Θραμπουλίδης, Γιάννης Βασιλόπουλος, Ελένη Βογιατζάκη, Δημήτρης Κουτσομητρόπουλος

Περιγραφή

Για αναλυτικότερες πληροφορίες και τα διαδικαστικά του μαθήματος  και τις προϋποθέσεις εξέτασης δείτε εδώ.

Βασικός στόχος του μαθήματος είναι μια εισαγωγή στον οντοκεντρικό (ή αντικειμενοστρεφή) προγραμματισμό. Σαν εργαλεία χρησιμοποιούνται οι γλώσσες Java και C++.
    
Η ύλη περιλαμβάνει:

  • Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό. Οι έννοιες αντικείμενο, ιδιότητες, κλάση, στιγμιότυπο. Ιεραρχία κλάσεων, γενίκευση, εξειδίκευση. Κληρονομικότητα. Πλεονεκτήματα αντικειμενοστρεφούς προγ/μού.
  • Εισαγωγή στη Java-γενικά χαρακτηριστικά. Τύποι εφαρμογών. Ορισμός κλάσεων, στιγμιοτύπων. Μέθοδοι και μεταβλητές. Java και C-Βασική βιβλιοθήκη Java. Κληρονομικότητα. Κατηγορίες κλάσεων. Διεπαφές. Χειρισμός εξαιρέσεων. Νήματα- Ταυτόχρονος προγραμματισμός. Προσπέλαση αρχείων.
  • Εισαγωγή στη C++. Βασικά στοιχεία της C++. Αφαίρεση δεδομένων-Κλάσεις. Ιεραρχίες κλάσεων και Κληρονομικότητα. Παράγωγες κλάσεις. Διασυνδέσεις. Υπερφόρτωση τελεστών. Πρότυπα. Χειρισμός εξαιρέσεων. Βιβλιοθήκη C++ (οργάνωση, καθιερωμ
Περισσότερα  
CC - Αναφορά - Μη Εμπορική Χρήση - Παρόμοια Διανομή

Ενότητες

Εισαγωγή στις έννοιες του Οντοκεντρικού Προγραμματισμού. Κλάσεις, κληρονομικότητα. Πλεονεκτήματα-Μειονεκτήματα.

Χειρισμός Εξαιρέσεων στην Java. Είσοδος και έξοδος δεδομένων. Νήματα και παράλληλος προγραμματισμός.

Εισαγωγή στην Γλώσσα Προγραμματισμού Java. Σύγκριση με την C. Βασικά Δομικά Στοιχεία και Βιβλιοθήκες. Ιεραρχίες κλάσεων και Κληρονομικότητα.

Διεπαφές χρήστη στην Java. Χρήση των βιβλιοθηκών AWT και SWING. Γραφικά και μικροεφαρμογές (Applets).

Εισαγωγή στην Γλώσσα Προγραμματισμού C++. Σύγκριση με την Java. Βασικές δομές ελέγχου, συναρτήσεις και μεταβλητές. Πίνακες και δείκτες.

Ιεραρχίες κλάσεων στην C++. Κληρονομικότητα και πολυμορφισμός.

Χρήση πρωτότυπων κλάσεων και συναρτήσεων (templates). Υπερφόρτωση Τελεστών για χρήση με αντικείμενα νέων κλάσεων. Χειρισμός εξαιρέσεων στην C++.

Η πρότυπη βιβλιοθήκη STL (Standard Template Library) και χρήση βασικών δομών όπως οι δυναμικοί πίνακες (vectors). Χρήσιμες δομές δεδομένων (Λίστες, Στοίβα, Ουρά κτλπ) με χρήση αυτοαναφερόμενων κλάσεων.

Χρήση των καναλιών (Strems) της C++ για είσοδο και έξοδο δεδομένων και επεξεργασία αρχείων. Χρήση αλφαριθμητικών (strings) στην C++ μέσω καναλιών.

Εργαστηριακές ασκήσεις Java και C++.