Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές
Το βιβλίο απευθύνεται κυρίως σε προπτυχιακούς φοιτητές που έρχονται για πρώτη φορά σε επαφή με τον αντικειμενοστραφή προγραμματισμό. Προϋποθέτει βασική γνώση του διαδικαστικού προγραμματισμού. Αρχικά, παρουσιάζονται οι έννοιες του αντικειμενοστραφούς προγραμματισμού, οι μηχανισμοί που απαιτούνται γι...
Κύριοι συγγραφείς: | , |
---|---|
Μορφή: | 1 |
Γλώσσα: | Greek |
Έκδοση: |
2023
|
Θέματα: | |
Διαθέσιμο Online: | http://dx.doi.org/10.57713/kallipos-280 http://repository.kallipos.gr/handle/11419/9974 |
id |
kallipos-11419-9974 |
---|---|
record_format |
dspace |
institution |
Kallipos |
collection |
DSpace |
language |
Greek |
topic |
Κλάση Αντικείμενο Αφαίρεση δεδομένων Κληρονομικότητα Πολυμορφισμός Απόκρυψη πληροφορίας Εγκλωβισμός Εμβέλεια Στοιχειοποίηση Γλώσσα προγραμματισμού C++ Γλώσσα προγραμματισμού Java Γλώσσες αντικειμενοστραφούς προγραμματισμού Διαδικαστικός προγραμματισμός Class Object Data abstraction Inheritance Polymorphism Information hiding Encapsulation Scope Modularity C++ programming language Java programming language Object oriented programming languages Procedural programming |
spellingShingle |
Κλάση Αντικείμενο Αφαίρεση δεδομένων Κληρονομικότητα Πολυμορφισμός Απόκρυψη πληροφορίας Εγκλωβισμός Εμβέλεια Στοιχειοποίηση Γλώσσα προγραμματισμού C++ Γλώσσα προγραμματισμού Java Γλώσσες αντικειμενοστραφούς προγραμματισμού Διαδικαστικός προγραμματισμός Class Object Data abstraction Inheritance Polymorphism Information hiding Encapsulation Scope Modularity C++ programming language Java programming language Object oriented programming languages Procedural programming Καράλη, Ιζαμπώ Karali, Isambo Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές |
description |
Το βιβλίο απευθύνεται κυρίως σε προπτυχιακούς φοιτητές που έρχονται για πρώτη φορά σε επαφή με τον αντικειμενοστραφή προγραμματισμό. Προϋποθέτει βασική γνώση του διαδικαστικού προγραμματισμού. Αρχικά, παρουσιάζονται οι έννοιες του αντικειμενοστραφούς προγραμματισμού, οι μηχανισμοί που απαιτούνται για την υποστήριξή του, καθώς και οι ιδιότητές του, ανεξάρτητα από συγκεκριμένη γλώσσα προγραμματισμού. Ο στόχος είναι να αναδειχθεί η καθολικότητά τους. Στη συνέχεια, το βιβλίο εστιάζεται στη γλώσσα C++, παρουσιάζοντας τα παραπάνω μέσω της γλώσσας αυτής. Ξεκινά συνοψίζοντας την υποστήριξη διαδικαστικού προγραμματισμού, με έμφαση σε εξειδικευμένες γλωσσικές δομές της C++. Κατόπιν, συζητιέται η έννοια της εμβέλειας, πηγαίνοντας σταδιακά στην αφαίρεση στα δεδομένα. Κατά την παρουσίαση της αφαίρεσης στα δεδομένα, το ένα από τα δύο βασικά θέματα στον αντικειμενοστραφή προγραμματισμό, αναπτύσσεται η δυνατότητα ορισμού κλάσεων και αντικειμένων, καθώς και σχετιζόμενα θέματα, όπως οι περιορισμοί ορατότητας για απόκρυψη λεπτομερειών υλοποίησης, οι λειτουργίες κατά τη δημιουργία και κατά την καταστροφή των αντικειμένων, αλλά και η λειτουργία κατά την ανάθεση αντικειμένων. Ακολουθεί ξεχωριστή συζήτηση για τη σύνθεση κλάσεων. Στη συνέχεια, γίνεται συζήτηση σχετικά με το δεύτερο βασικό θέμα στον αντικειμενοστραφή προγραμματισμό, που είναι η κληρονομικότητα. Η ενασχόληση με τη C++ ολοκληρώνεται με παρουσίαση επιπλέον γλωσσικών στοιχείων που είναι σχετικά με τις κλάσεις. Ιδιαίτερη έμφαση δίνεται στα στατικά μέλη κλάσεων, η ύπαρξη των οποίων επιτρέπει ομαλή μετάβαση από τη γλώσσα C++ στη γλώσσα Java. Το σύστημα εισόδου/εξόδου της C++ αναφέρεται και ως ενδιαφέρον παράδειγμα χρήσης του αντικειμενοστραφούς προγραμματισμού. Γίνεται, επίσης, αναφορά στον προγραμματισμό γενικεύσεων. Κατόπιν, το βιβλίο στρέφεται στη γλώσσα Java και γίνεται παρουσίαση των αντικειμενοστραφών χαρακτηριστικών της. Ακολουθεί σύνοψη αντικειμενοστραφών στοιχείων από άλλες γλώσσες αντικειμενοστραφούς προγραμματισμού, όχι απαραίτητα διαδικαστικές. Το βιβλίο κλείνει με σύνθετα προβλήματα, τόσο για προσωπική ενασχόληση όσο και για εξάσκηση, αλλά και ως κατάλληλα παραδείγματα ανάγκης χρήσης του αντικειμενοστραφούς προγραμματισμού. |
format |
1 |
author |
Καράλη, Ιζαμπώ Karali, Isambo |
author_facet |
Καράλη, Ιζαμπώ Karali, Isambo |
author_sort |
Καράλη, Ιζαμπώ |
title |
Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές |
title_short |
Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές |
title_full |
Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές |
title_fullStr |
Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές |
title_full_unstemmed |
Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές |
title_sort |
αντικειμενοστραφής προγραμματισμός: έννοιες και τεχνικές |
publishDate |
2023 |
url |
http://dx.doi.org/10.57713/kallipos-280 http://repository.kallipos.gr/handle/11419/9974 |
work_keys_str_mv |
AT karalēizampō antikeimenostraphēsprogrammatismosennoieskaitechnikes AT karaliisambo antikeimenostraphēsprogrammatismosennoieskaitechnikes AT karalēizampō objectorientedprogrammingconceptsandtechniques AT karaliisambo objectorientedprogrammingconceptsandtechniques AT karalēizampō anadeixētousmeckaijava AT karaliisambo anadeixētousmeckaijava AT karalēizampō illustratingthembyusingcandjava AT karaliisambo illustratingthembyusingcandjava |
_version_ |
1799946633965731840 |
spelling |
kallipos-11419-99742023-10-20T08:15:30Z Αντικειμενοστραφής Προγραμματισμός: Έννοιες και Τεχνικές Object Oriented Programming: Concepts and Techniques Ανάδειξή τους με C++ και Java Illustrating them by using C++ and Java Καράλη, Ιζαμπώ Karali, Isambo Κλάση Αντικείμενο Αφαίρεση δεδομένων Κληρονομικότητα Πολυμορφισμός Απόκρυψη πληροφορίας Εγκλωβισμός Εμβέλεια Στοιχειοποίηση Γλώσσα προγραμματισμού C++ Γλώσσα προγραμματισμού Java Γλώσσες αντικειμενοστραφούς προγραμματισμού Διαδικαστικός προγραμματισμός Class Object Data abstraction Inheritance Polymorphism Information hiding Encapsulation Scope Modularity C++ programming language Java programming language Object oriented programming languages Procedural programming Το βιβλίο απευθύνεται κυρίως σε προπτυχιακούς φοιτητές που έρχονται για πρώτη φορά σε επαφή με τον αντικειμενοστραφή προγραμματισμό. Προϋποθέτει βασική γνώση του διαδικαστικού προγραμματισμού. Αρχικά, παρουσιάζονται οι έννοιες του αντικειμενοστραφούς προγραμματισμού, οι μηχανισμοί που απαιτούνται για την υποστήριξή του, καθώς και οι ιδιότητές του, ανεξάρτητα από συγκεκριμένη γλώσσα προγραμματισμού. Ο στόχος είναι να αναδειχθεί η καθολικότητά τους. Στη συνέχεια, το βιβλίο εστιάζεται στη γλώσσα C++, παρουσιάζοντας τα παραπάνω μέσω της γλώσσας αυτής. Ξεκινά συνοψίζοντας την υποστήριξη διαδικαστικού προγραμματισμού, με έμφαση σε εξειδικευμένες γλωσσικές δομές της C++. Κατόπιν, συζητιέται η έννοια της εμβέλειας, πηγαίνοντας σταδιακά στην αφαίρεση στα δεδομένα. Κατά την παρουσίαση της αφαίρεσης στα δεδομένα, το ένα από τα δύο βασικά θέματα στον αντικειμενοστραφή προγραμματισμό, αναπτύσσεται η δυνατότητα ορισμού κλάσεων και αντικειμένων, καθώς και σχετιζόμενα θέματα, όπως οι περιορισμοί ορατότητας για απόκρυψη λεπτομερειών υλοποίησης, οι λειτουργίες κατά τη δημιουργία και κατά την καταστροφή των αντικειμένων, αλλά και η λειτουργία κατά την ανάθεση αντικειμένων. Ακολουθεί ξεχωριστή συζήτηση για τη σύνθεση κλάσεων. Στη συνέχεια, γίνεται συζήτηση σχετικά με το δεύτερο βασικό θέμα στον αντικειμενοστραφή προγραμματισμό, που είναι η κληρονομικότητα. Η ενασχόληση με τη C++ ολοκληρώνεται με παρουσίαση επιπλέον γλωσσικών στοιχείων που είναι σχετικά με τις κλάσεις. Ιδιαίτερη έμφαση δίνεται στα στατικά μέλη κλάσεων, η ύπαρξη των οποίων επιτρέπει ομαλή μετάβαση από τη γλώσσα C++ στη γλώσσα Java. Το σύστημα εισόδου/εξόδου της C++ αναφέρεται και ως ενδιαφέρον παράδειγμα χρήσης του αντικειμενοστραφούς προγραμματισμού. Γίνεται, επίσης, αναφορά στον προγραμματισμό γενικεύσεων. Κατόπιν, το βιβλίο στρέφεται στη γλώσσα Java και γίνεται παρουσίαση των αντικειμενοστραφών χαρακτηριστικών της. Ακολουθεί σύνοψη αντικειμενοστραφών στοιχείων από άλλες γλώσσες αντικειμενοστραφούς προγραμματισμού, όχι απαραίτητα διαδικαστικές. Το βιβλίο κλείνει με σύνθετα προβλήματα, τόσο για προσωπική ενασχόληση όσο και για εξάσκηση, αλλά και ως κατάλληλα παραδείγματα ανάγκης χρήσης του αντικειμενοστραφούς προγραμματισμού. The book is mainly aimed at undergraduate students who study object oriented programming for the first time. It assumes that the reader is familiar with procedural programming, though. First, the concepts of object oriented programming, the required mechanisms and the paradigm properties are presented, independently of a specific programming language. The aim is to highlight the concepts’ universality. The book, then, focuses on the C++ language, presenting the above using C++. It begins by summarizing procedural programming constructs, with an emphasis on specialized ones. Then, the concept of names’ scope is analyzed, stepping towards data abstraction. Talking about data abstraction, the one of the two main areas in object oriented programming, class and object definitions are discussed, as well as related topics such as visibility declarations to hide implementation details, constructors and destructors of objects as well as object assignments. Class composition is separately discussed. Next, a thorough presentation of the second important area in object-oriented programming, which is inheritance, follows. The C++ related topics are completed by some other class related issues of the language that are considered worth mentioning. Emphasis is put on static class members, which allow a smooth transition from the C++ to the Java language. C++'s input/output system is outlined, also as an interesting example of using object oriented programming. Generic programming is also briefly presented. The book then switches to the Java language and presents its object oriented features. Next, there is a summary of object oriented characteristics of other object oriented programming languages, not necessarily procedural. The book concludes with complex problems, both for personal engagement and practice, but also as appropriate examples where the use of object oriented programming is needed. 2023-07-06T10:20:07Z 2023-10-19T16:20:32Z 2023-07-06T10:20:07Z 2023-10-19T16:20:32Z 1 978-618-228-050-8 http://dx.doi.org/10.57713/kallipos-280 http://repository.kallipos.gr/handle/11419/9974 el 1 628 application/pdf application/pdf application/pdf |