Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές

Το βιβλίο απευθύνεται κυρίως σε προπτυχιακούς φοιτητές που έρχονται για πρώτη φορά σε επαφή με τον αντικειμενοστραφή προγραμματισμό. Προϋποθέτει βασική γνώση του διαδικαστικού προγραμματισμού. Αρχικά, παρουσιάζονται οι έννοιες του αντικειμενοστραφούς προγραμματισμού, οι μηχανισμοί που απαιτούνται γι...

Full description

Bibliographic Details
Main Authors: Καράλη, Ιζαμπώ, Karali, Isambo
Format: 1
Language:Greek
Published: 2023
Subjects:
Online Access:http://dx.doi.org/10.57713/kallipos-280
http://repository.kallipos.gr/handle/11419/9974
Description
Summary:Το βιβλίο απευθύνεται κυρίως σε προπτυχιακούς φοιτητές που έρχονται για πρώτη φορά σε επαφή με τον αντικειμενοστραφή προγραμματισμό. Προϋποθέτει βασική γνώση του διαδικαστικού προγραμματισμού. Αρχικά, παρουσιάζονται οι έννοιες του αντικειμενοστραφούς προγραμματισμού, οι μηχανισμοί που απαιτούνται για την υποστήριξή του, καθώς και οι ιδιότητές του, ανεξάρτητα από συγκεκριμένη γλώσσα προγραμματισμού. Ο στόχος είναι να αναδειχθεί η καθολικότητά τους. Στη συνέχεια, το βιβλίο εστιάζεται στη γλώσσα C++, παρουσιάζοντας τα παραπάνω μέσω της γλώσσας αυτής. Ξεκινά συνοψίζοντας την υποστήριξη διαδικαστικού προγραμματισμού, με έμφαση σε εξειδικευμένες γλωσσικές δομές της C++. Κατόπιν, συζητιέται η έννοια της εμβέλειας, πηγαίνοντας σταδιακά στην αφαίρεση στα δεδομένα. Κατά την παρουσίαση της αφαίρεσης στα δεδομένα, το ένα από τα δύο βασικά θέματα στον αντικειμενοστραφή προγραμματισμό, αναπτύσσεται η δυνατότητα ορισμού κλάσεων και αντικειμένων, καθώς και σχετιζόμενα θέματα, όπως οι περιορισμοί ορατότητας για απόκρυψη λεπτομερειών υλοποίησης, οι λειτουργίες κατά τη δημιουργία και κατά την καταστροφή των αντικειμένων, αλλά και η λειτουργία κατά την ανάθεση αντικειμένων. Ακολουθεί ξεχωριστή συζήτηση για τη σύνθεση κλάσεων. Στη συνέχεια, γίνεται συζήτηση σχετικά με το δεύτερο βασικό θέμα στον αντικειμενοστραφή προγραμματισμό, που είναι η κληρονομικότητα. Η ενασχόληση με τη C++ ολοκληρώνεται με παρουσίαση επιπλέον γλωσσικών στοιχείων που είναι σχετικά με τις κλάσεις. Ιδιαίτερη έμφαση δίνεται στα στατικά μέλη κλάσεων, η ύπαρξη των οποίων επιτρέπει ομαλή μετάβαση από τη γλώσσα C++ στη γλώσσα Java. Το σύστημα εισόδου/εξόδου της C++ αναφέρεται και ως ενδιαφέρον παράδειγμα χρήσης του αντικειμενοστραφούς προγραμματισμού. Γίνεται, επίσης, αναφορά στον προγραμματισμό γενικεύσεων. Κατόπιν, το βιβλίο στρέφεται στη γλώσσα Java και γίνεται παρουσίαση των αντικειμενοστραφών χαρακτηριστικών της. Ακολουθεί σύνοψη αντικειμενοστραφών στοιχείων από άλλες γλώσσες αντικειμενοστραφούς προγραμματισμού, όχι απαραίτητα διαδικαστικές. Το βιβλίο κλείνει με σύνθετα προβλήματα, τόσο για προσωπική ενασχόληση όσο και για εξάσκηση, αλλά και ως κατάλληλα παραδείγματα ανάγκης χρήσης του αντικειμενοστραφούς προγραμματισμού.