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

Μαστοροκώστας Πάρις

Περιγραφή

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

 

Το μάθημα αποσκοπεί στο να εισαγάγει το φοιτητή στη λογική του αντικειμενοστραφούς προγραμματισμού. Ως κύριοι άξονες λαμβάνονται οι κλάσεις, οι έννοιες του πολυμορφισμού, της κληρονομικότητας και της ιεραρχίας κλάσεων, της υπερφότωσης τελεστών και των αρχείων και ρευμάτων. Στόχος είναι η κατανόηση της κατάστρωσης ολοκληρωμένων προγραμμάτων, χρησιμοποιώντας ως μέσο τη γλώσσα προγραμματισμού υψηλού επιπέδου C++.

Μετά την παρακολούθηση του μαθήματος οι σπουδαστές θα πρέπει να:

  • Γνωρίζουν και να κατανοούν τις λειτουργίες των κλάσεων στη γλώσσα προγραμματισμού C++.
  • Είναι εξοικειωμένοι με τις ανωτέρω έννοιες του αντικειμενοστραφούς προγραμματισμού.
  • Να καταστρώνουν κώδικα επιλύοντας προβλήματα με βάση τις αρχές της αντικειμονστραφούς σχεδίασης.
  • Δημιουργούν διεπαφές και και να μερίζουν τον κώδικα σε επιμέρους αρχεία, αξιοποιώντας τις δυνατότητες συγγραφής κώδικα, μεταγλώττισης, σύνδεσης και εκτέλεσης πολλών προγραμμάτων που παρέχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης (IDE, ελεύθερο λογισμικό).

 

 

Γενικές Ικανότητες

 

  • Συλλογική εργασία
  • Ανάλυση και σχεδίαση αλγοριθμικών διαδικασιών
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης

 

 

 

  ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

  • Φιλοσοφία του αντικειμενοστραφούς προγραμματισμού, βασικές έννοιες, η γλώσσα C++.
  • Αντικείμενα και κλάσεις, συναρτήσεις εγκατάστασης/δόμησης, συναρτήσεις αποσύνδεσης/αποδόμησης.
  • Αντικείμενα ως ορίσματα συναρτήσεων, συναρτήσεις εγκατάστασης με υπέρβαση, επιστροφή αντικειμένων από συναρτήσεις.
  • Πίνακες, πίνακες ως δεδομένα μελών κλάσεων, πίνακες αντικειμένων.
  • Υπερφόρτωση τελεστών, ορίσματα τελεστών, τιμές επιστροφής τελεστών, υπερφόρτωση δυαδικών τελεστών (αριθμητικοί τελεστές, τελεστές σύγκρισης, τελεστές απόδοσης τιμής).
  • Μετατροπή δεδομένων, μετατροπές μεταξύ βασικών τύπων, μετατροπές μεταξύ αντικειμένων και βασικών τύπων, μετατροπές μεταξύ αντικειμένων διαφορετικών κλάσεων.
  • Κληρονομικότητα, παράγωγη και βασική κλάση, προσπέλαση μελών βασικής κλάσης, συναρτήσεις εγκατάστασης της παράγωγης κλάσης, υπερφόρτωση συναρτήσεων-μελών.
  • Ιεραρχίες κλάσεων, αφηρημένη βασική κλάση, συναρτήσεις εγκατάστασης και συναρτήσεις μέλη.
  • Δημόσια και ιδιωτική κληρονομικότητα, συνδυασμοί προσπέλασης, καθοριστές προσπέλασης.
  • Επίπεδα κληρονομικότητας, πολλαπλή κληρονομικότητα, περιεκτικότητα, κλάσεις μέσα σε κλάσεις.
  • Δείκτες, οι τελεστές new και delete, δείκτες για αντικείμενα, αναφορά σε μέλη, πίνακες δεικτών προς αντικείμενα.
  • Φίλιες συναρτήσεις, στατικές συναρτήσεις, ο δείκτης this.
  • Αρχεία και ρεύματα, είσοδος/έξοδος αντικειμένων, δείκτες αρχείων.
  • Ανάπτυξη αντικειμενοστραφών προγραμμάτων, εφαρμογή σε πραγματικό πρόβλημα.

 


 

Λέξεις Κλειδιά: Αντικειμενοστραφής Προγραμματισμός


Κωδικός: TMC111
Σχολή - Τμήμα: Τμήμα Μηχανικών Πληροφορικής ΤΕ » Προπτυχιακό
Πρόσβαση στο μάθημα: Ελεύθερη (χωρίς εγγραφή)
Χρήστες: 3 εγγεγραμμένοι
CC - Αναφορά - Παρόμοια Διανομή
CC - Αναφορά - Παρόμοια Διανομή

Θεματικές Ενότητες

•Ιστορικό των γλωσσών C και C++ ,
•Δομημένος Προγραμματισμός
•Τι είναι ο αντικειμενοστραφής προγραμματισμός;
•Τυπικό περιβάλλον ανάπτυξης της C++
•Ορολογία
 

Κλάσεις και αντικείμενα Ορισμός αντικειμένων Ιδιωτικά και δημόσια μέλη Κλήση συναρτήσεων-μελών Απόδοση τιμών μέσω παραμέτρων Συναρτήσεις εγκατάστασης/δόμησης (constructors) Συναρτήσεις αποσύνδεσης/αποδόμησης (destructors) Συναρτήσεις δόμησης με υπερφόρτωση (constructor overloading) Συναρτήσεις-μέλη οριζόμενες έξω από την κλάση Συναρτήσεις δόμησης – εναλλακτικός ορισμός Αντικείμενα ως ορίσματα συναρτήσεων Επιστροφή αντικειμένων από συναρτήσεις Ένταξη κλάσης στους τύπους δεδομένων

Υπερφόρτωση τελεστών (operator overloading) Υπερφόρτωση αριθμητικών τελεστών Υπερφόρτωση τελεστών σύγκρισης Υπερφόρτωση τελεστών με χρήση συναρτήσεων-μελών Yπερφόρτωση μοναδιαίων τελεστών Yπερφόρτωση του τελεστή ανάθεσης Yπερφόρτωση του τελεστή κλήσης συνάρτησης Πίνακες Πίνακες σε συναρτήσεις Πίνακες ως δεδομένα κλάσεων Πίνακες αντικειμένων

Μετατροπή τύπων, Μετατροπές μεταξύ αντικειμένωνκ αι βασικών τύπων, Μετατροπές μεταξύ αντικειμένων διαφορετικών κλάσεων

Κληρονομικότητα, Ιεραρχία κληρονομικότητας, Σχέσεις «Is - A» και «Has - A», Βασική κλάση βάσης και παραγόμενες, Παραδείγματα κληρονομικότητας, Φίλιες συναρτήσεις, Φίλιες κλάσεις, Βασικές και παραγόμενες κλάσεις, Ιδιότητες προστατευόμενων μεταβλητών _ μελών, Αλλαγή προσδιορισμού πρόσβασης, Επίπεδα κληρονομικότητας, Mελέτη περίπτωσης: Ιεραρχία κληρονομικότητας τριών επιπέδων, Πολλαπλή κληρονομικότητα, Περιεκτικότητα,

1.Δείκτες, 2.Δείκτες – δυναμική διαχείριση μνήμης, 3.Δείκτες για αντικείμενα, 4.Πίνακες δεικτών προς αντικείμενα, 5.Ο δείκτης this, 6.Πολυμορφισμός (Polymorphism), 7.Κλήση συναρτήσεων της βασικής κλάσης από αντικείμενα της παραγόμενης κλάσης, 8.Δείκτης της παράγωγης κλάσης σε αντικείμενο της βασικής κλάσης, 9.Κλήση συνάρτησης παράγωγης κλάσης, μέσω δείκτη βασικής κλάσης, 10.Εικονικές συναρτήσεις (virtual functions), 11.Εικονικές και μη εικονικές συναρτήσεις, 12.Γνήσιες εικονικές συναρτήσεις, 13.Αφηρημένες κλάσεις, 14.Μελέτη περίπτωσης εικονικών συναρτήσεων, 15.Εικονικές συναρτήσεις αποδόμησης, 16.Μελέτη περίπτωσης πολυμορφισμού.

The Data Hierarchy, Files and Streams, Creating a Sequential-Access File, Reading Data from a Sequential-Access File, Updating Sequential-Access Files, Random-Access Files, Creating a Random-Access File, Writing Data Randomly to a Random-Access File, Reading Data Sequentially from a Random-Access File, Example: A Transaction-Processing Program, Input/Output of Objects.

Η ΚΛΑΣΗ string, ΜΕΘΟΔΟΙ ΣΤΗ ΚΛΑΣΗ string, ΤΕΛΕΣΤΕΣ ΣΤΗ ΚΛΑΣΗ string, ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΤΕΛΕΣΤΕΣ ΣΤΗ ΚΛΑΣΗ string, ΕΙΣΟΔΟΣ / ΕΞΟΔΟΣ ΔΕΔΟΜΕΝΩΝ, ΚΛΑΣΕΙΣ ΓΙΑ ΕΙΣΟΔΟ / ΕΞΟΔΟ ΑΠΟ ΑΡΧΕΙΑ, ΕΛΕΓΧΟΙ ΣΕ ΑΡΧΕΙΑ, ΕΞΟΔΟΣ ΣΕ ΑΡΧΕΙΟ, ΕΙΣΟΔΟΣ ΑΠΟ ΑΡΧΕΙΟ, ΔΕΙΚΤΕΣ ΡΟΗΣ get, put, ΜΕΘΟΔΟΙ ΣΕ ΡΟΕΣ ΕΙΣΟΔΟΥ / ΕΞΟΔΟΥ, ΜΕΘΟΔΟΙ ΓΙΑ ΕΙΣΟΔΟ/ΕΞΟΔΟ ΑΠΟ BINARY ΑΡΧΕΙΟ.

Ο τελικός βαθμός του μαθήματος διαμορφώνεται κατά 75% από τον βαθμό του θεωρητικού μέρους και κατά 25% από τον βαθμό του εργαστηριακού. Ο βαθμός του θεωρητικού μέρους διαμορφώνεται κατά 70% από γραπτή τελική εξέταση και κατά 30% από προαιρετική ενδιάμεση γραπτή εξέταση. Σε περίπτωση μη συμμετοχής ενός φοιτητή στην ενδιάμεση εξέταση ή αποτυχίας του, ο βαθμός του θεωρητικού μέρους διαμορφώνεται αποκλειστικά από την τελική γραπτή εξέταση.

Ανοικτό Ακαδ. Μάθημα

Ημερολόγιο

Ανακοινώσεις

  • - Δεν υπάρχουν ανακοινώσεις -