ΜΥΥ205/ΠΛΥ212 Τεχνικές Αντικειμενοστραφούς Προγραμματισμού

Εαρινό Εξάμηνο, 2016

 

Αρχική

Διδακτέα Ύλη

Ασκήσεις

Βιβλία Υλικό

         Απόλυτη Java, Walter Savitch (Ελληνικά)

         Thinking in Java, Bruce Eckel (Αγγλικά)

         Java Docs (Oracle online documentation) (Αγγλικά)

         Στη σελίδα του μαθήματος Αντικειμενοστραφής Προγραμματισμός στο Πανεπιστήμιο Κρήτης υπάρχει μια χρήσιμη συλλογή από links σε βιβλία, διαφάνειες και προγραμματιστικό υλικό.

 

Διαφάνειες

Διαδικαστικά: Οι διαφάνειες του πρώτου μαθήματος με τα διαδικαστικά του μαθήματος (βαθμολογία κλπ) (pptx, pdf)

 

Μαθήματα από τα εργαστήρια: Διαφάνειες που σχολιάζουν θέματα που προκύπτουν στα εργαστήρια. (pptx, pdf, code).

 

Διαφάνειες: Όλες οι διαφάνειες του μαθήματος σε ένα αρχείο. (pptx, pdf).

 

Οι διαφάνειες ανά διάλεξη:

 

         Διάλεξη 1 (9 Φεβρουαρίου): Εισαγωγή Γλώσσες προγραμματισμού, Προγραμματιστικά μοντέλα (paradigms), Αντικειμενοστραφής Προγραμματισμός (pptx, pdf)

         Διάλεξη 2 (11 Φεβρουαρίου): Αντικειμενοστραφής Προγραμματισμός - Εισαγωγή στη γλώσσα προγραμματισμού Java (pptx, pdf, code)

         Διάλεξη 3 (16 Φεβρουαρίου): Εισαγωγή στη γλώσσα προγραμματισμού Java Μεταβλητές, Είσοδος/Έξοδος, if/then/else (pptx, pdf, code)

         Διάλεξη 4 (18 Φεβρουαρίου): Εισαγωγή στη γλώσσα προγραμματισμού Java Βρόγχοι (while/for), break/continue, switch. (pptx, pdf, code)

         Διάλεξη 5 (1 Μαρτίου): Κλάσεις και αντικείμενα: Υπάρχουσες κλάσεις στην Java Strings, Πίνακες, ArrayList. (pptx, pdf, code)

         Διάλεξη 6 (2 Μαρτίου) Κλάσεις και αντικείμενα: Δημιουργώντας δικές μας κλάσεις και αντικείμενα. (pptx, pdf, code)

         Διάλεξη 7 (3 Μαρτίου) Κλάσεις και αντικείμενα: Πεδία, μέθοδοι. Μέθοδοι προσπέλασης (accessor methods) και μετάλλαξης (mutator methods). (pptx, pdf, code)

         Διάλεξη 8 (8 Μαρτίου) Μέθοδος δημιουργός - Constructor. Υπερφόρτωση μεθόδων. Αντικείμενα ως παράμετροι. (pptx, pdf, code)

         Διάλεξη 9 (9 Μαρτίου) Κλάσεις και αντικείμενα: Πεδία, μέθοδοι. Μέθοδοι προσπέλασης (accessor methods) και μετάλλαξης (mutator methods). (pptx, pdf, code)

         Διάλεξη 10 (17 Μαρτίου) Κλάσεις και αντικείμενα: Αντικείμενα ως ορίσματα. (pptx, pdf, code)

         Διάλεξη 11 (22 Μαρτίου) Αντικείμενα με πίνακες και οι constructors τους. Υλοποίηση Στοίβας. (pptx, pdf, code)

         Διάλεξη 12 (24 Μαρτίου) Αναφορές. Διαχείριση μνήμης, στοίβα και σωρός προγράμματος. Αναφορές ως παράμετροι. (pptx, pdf, code)

         Διάλεξη 13 (29 Μαρτίου) Αναφορές. Μέθοδοι που επιστρέφουν αντικείμενα. Βαθιά και ρηχά αντίγραφα. Copy constructors. (pptx, pdf, code)

         Διάλεξη 14 (31 Μαρτίου) Σχέσεις μεταξύ κλάσεων. Σύνθεση και συνάθροιση. Υλοποίηση δυναμικής στοίβας. (pptx, pdf, code)

         Διάλεξη 15 (5 Απριλίου) Σύνθεση και συνάθροιση κλάσεων. Υλοποίηση μεγάλου παραδείγματος τμήμα πανεπιστημίου. Εισαγωγή σε ArrayList και HashMap. Η αναφορά this. (pptx, pdf, code)

         Διάλεξη 16 (7 Απριλίου) Εισαγωγή στην κληρονομικότητα. Υπέρβαση μεθόδων. Is-a σχέση των κλάσεων. (pptx, pdf, code)

         Διάλεξη 17 (12 Απριλίου) Κληρονομικότητα.Is-a σχέση των κλάσεων. Downcasting. Πολυμορφισμός και καθυστερημένη δέσμευση (late binding). (pptx, pdf, code)

         Διάλεξη 18 (14 Απριλίου) Πολυμορφισμός και καθυστερημένη δέσμευση (late binding). Αφηρημένες κλάσεις και διεπαφές (interfaces) (pptx, pdf, code)

         Διάλεξη 19 (19 Απριλίου) Πολυμορφισμός, Αφηρημένες κλάσεις και διεπαφές (interfaces). Παράδειγμα υλοποίησης με κληρονομικότητα. (pptx, pdf, code)

         Διάλεξη 20 (21 Απριλίου) Παράδειγμα υλοποίησης με κληρονομικότητα. Γενικευμένες κλάσεις. (pptx, pdf, code)

         Διάλεξη 21 (10 Μαΐου) Συλλογές ArrayList, HashSet, HashMap, Iterators (pptx, pdf, code)

         Διάλεξη 22 (11 Μαΐου) Εξαιρέσεις, try-catch block. Μέθοδοι που πετάνε εξαιρέσεις, catch - declare. (pptx, pdf, code)

         Διάλεξη 23 (12 Μαΐου) Αρχεία Γράψιμο σε αρχεία κειμένου Διάβασμα από αρχεία κειμένου. (pptx, pdf, code)

         Διάλεξη 24 (17 Μαΐου) Επεξεργασία Αλφαριθμητικών. Παράδειγμα με αρχεία-δομές-string processing. Στατικές μέθοδοι και μεταβλητές. (pptx, pdf, code)

         Διαλέξεις 25-26 (24 Μαΐου) Γραφικά περιβάλλοντα (GUIs). Η βιβλιοθήκη SWING. Event-driven programming. Ανώνυμες κλάσεις. (pptx, pdf, code)