Αντικειμενοστρεφής Προγραμματισμός

Κωδικός Μαθήματος
CEID_23Υ106
Εξάμηνο
2
Τομέας
Τομέας Λογικού των Υπολογιστών
Διδάσκων
ΘΡΑΜΠΟΥΛΙΔΗΣ ΚΛΕΑΝΘΗΣ, ΧΑΤΖΗΔΟΥΚΑΣ ΠΑΝΑΓΙΩΤΗΣ
ECTS
9

1.Περιορισμοί του διαδικαστικού προγραμματισμού. Η μετάβαση από τον Διαδικαστικό στον Αντικειμενοστρεφή Προγραμματισμό. H αλλαγή παραδείγματος προγραμματισμού (paradigm shift). Η σημασία του αντικειμενοστρεφούς παραδείγματος στην ανάπτυξη συστημάτων.

2. Βασικοί μηχανισμοί για αντιμετώπιση της πολυπλοκότητας. Αφαιρετικότητα στις διεργασίες, αφαιρετικότητα στα δεδομένα. Η αυξητική διαδικασία στην ανάπτυξη λογισμικού.

3. Το νοητικό μοντέλο του Αντικειμενοστρεφούς Προγραμματισμού και η σημασία του. Αντικείμενο, Κλάση, Στιγμιότυπο. Δομή και συμπεριφορά στιγμιοτύπων και κλάσεων.

4. Εισαγωγή στη γλώσσα προγραμματισμού Java. Η Java ως επέκταση της C. Η βασική βιβλιοθήκη της Java. Περιβάλλοντα ανάπτυξης εφαρμογών.

5. Το πρόγραμμα ως συνάθροιση αντικειμένων. Αφαιρετική αναπαράσταση δομής και συμπεριφοράς συστήματος. Βασικά διαγράμματα της UML. Διάγραμμα κλάσεων. Διάγραμμα αλληλεπίδρασης αντικειμένων.

6. Κληρονομικότητα, απλή και πολλαπλή. Η κατασκευή του interface. Πολυμορφισμός, early vs. late binding.

7. Διαχείριση εξαιρέσεων (exception handling). Συλλογή σκουπιδιών (Garbage collection).

8. Αφαιρετικότητα στην επικοινωνία με τον χρήστη. Γραφικές διεπαφές. Μηχανισμός διαχείρισης συμβάντων (Event Handling).

9. Υλοποίηση βασικών εννοιών του αντικειμενοστρεφούς παραδείγματος προγραμματισμού από την γλώσσα προγραμματισμού C++. Η βασική βιβλιοθήκη της C++. Templates, Vectors, ArrayList, LinkedList. Files και streams.

10. Εισαγωγή στην πολυ-νηματική επεξεργασία (Multithreading).

Μετάβαση στο περιεχόμενο