ΜΥΥ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 Μαρτίου): Κλάσεις και αντικείμενα: Υπάρχουσες κλάσεις στην JavaStrings, Πίνακες, 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)