Προγραμματισμός Υπολογιστών με JAVA

Κωδικός: 
3222
Εξάμηνο: 
8o
Μαθήματα Επιλογής
Διδάσκων: 

I.ΠΑΥΛΟΠΟΥΛΟΣ

Περιεχόμενο

Δομή ενός προγράμματος Java και εντολές ελέγχου. Κλάσεις και αντικείμενα: συναρτήσεις δημιουργίας, μεταβλητές στιγμιότυπου, στατικές μεταβλητές, αναφορές σε αντικείμενα. Μέθοδοι: εμβέλεια μεθόδων, απόκρυψη κώδικα, υπερφόρτωση μεθόδων, στατικές μέθοδοι. Πακέτα. Κληρονομικότητα και πολυμορφισμός: βελτιστοποίηση ιεραρχίας κλάσεων και επαναχρησιμοποίηση κώδικα, πολυμορφική επεξεργασία και δυναμική δέσμευση μεθόδων, αφηρημένες και τελικές κλάσεις και μέθοδοι, δημιουργία και χρήση διεπαφών. Σχεδίαση με αντικειμενοστρεφή προγραμματισμό: προσδιορισμός και υλοποίηση σχέσεων μεταξύ κλάσεων, προσδιορισμός ιδιοτήτων και λειτουργιών κλάσεων. Δομές δεδομένων και συλλογές: αυτό-αναφερόμενες κλάσεις και δυναμική δέσμευση μνήμης, συνδεδεμένες λίστες, πίνακες, ουρές, στοίβες, λίστες, διάσχιση, σύνολα, χάρτες. Γενικεύσεις. Είσοδος και έξοδος: ροές bytes/χαρακτήρων, ροές αντικειμένων, φίλτρα, διασυνδέσεις και τάξεις για είσοδο και έξοδο, σειριακή και τυχαία προσπέλαση αρχείων. Χειρισμός εξαιρέσεων.

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

Μετά την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές θα είναι σε θέση:

• Να αναπτύσσουν ένα πρόγραμμα αντικειμενοστρεφούς προγραμματισμού στη γλώσσα Java, περιλαμβάνοντας τον ορισμό κλάσεων, συναρτήσεις δημιουργίας, μεθόδους, μεταβλητές στιγμιότυπου, στατικές μεταβλητές και αναφορές σε αντικείμενα.

• Να περιγράφουν και να χειρίζονται τις βασικές έννοιες και αρχές αντικειμενοστρεφούς προγραμματισμού: ενθυλάκωση (απόκρυψη δεδομένων και κώδικα), κληρονομικότητα και πολυμορφισμό.

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

• Να επιλέγουν μεταξύ βασικών δομών και τεχνικών εισόδου/εξόδου που παρέχονται από τη γλώσσα Java.

• Να εφαρμόζουν τεχνικές χειρισμού εξαιρέσεων που παρέχονται από τη γλώσσα Java.