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

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

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριοι συγγραφείς: Καράλη, Ιζαμπώ, Karali, Isambo
Μορφή: 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