ΜΥΥ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) |