Οντοκεντρικός Προγραμματισμός

Σχετικά έγγραφα
ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

Εισαγωγή στους Αλγορίθμους

Οντοκεντρικός Προγραμματισμός

Εισαγωγή στους Αλγορίθμους

Διοικητική Λογιστική

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Οντοκεντρικός Προγραμματισμός

Εισαγωγή στους Αλγορίθμους

Κβαντική Επεξεργασία Πληροφορίας

Οντοκεντρικός Προγραμματισμός

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Βάσεις Περιβαλλοντικών Δεδομένων

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Κβαντική Επεξεργασία Πληροφορίας

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Οντοκεντρικός Προγραμματισμός

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διοικητική Λογιστική

Βέλτιστος Έλεγχος Συστημάτων

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Οντοκεντρικός Προγραμματισμός

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Ευφυής Προγραμματισμός

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Εισαγωγή στην Πληροφορική

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Φιλοσοφία της Ιστορίας και του Πολιτισμού

Διδακτική των εικαστικών τεχνών Ενότητα 1

Διδακτική των εικαστικών τεχνών Ενότητα 3

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Τεχνικό Σχέδιο - CAD

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Οντοκεντρικός Προγραμματισμός

Διδακτική Πληροφορικής

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Εισαγωγή στην Πληροφορική

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οντοκεντρικός Προγραμματισμός

Τεχνικό Σχέδιο - CAD

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στη Μουσική Τεχνολογία Ενότητα: Ελεγκτές MIDI μηνυμάτων (Midi Controllers)

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

Οντοκεντρικός Προγραμματισμός

Εισαγωγή στους Υπολογιστές

Διδακτική των εικαστικών τεχνών Ενότητα 2

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

Κβαντική Επεξεργασία Πληροφορίας

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Βέλτιστος Έλεγχος Συστημάτων

Οντοκεντρικός Προγραμματισμός

Διαχείριση Πολιτισμικών Δεδομένων

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Διδακτική Πληροφορικής

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση

Τίτλος Μαθήματος. Ενότητα 1: Γενικά περί λογικού προγραμματισμού

Κβαντική Επεξεργασία Πληροφορίας

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διδακτική Πληροφορικής

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Έλεγχος Ποιότητας Φαρμάκων

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Ευφυής Προγραμματισμός

Διδακτική των εικαστικών τεχνών Ενότητα 2

Γενική Φυσική Ενότητα: Ταλαντώσεις

Ψηφιακή Επεξεργασία Εικόνων

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Transcript:

Οντοκεντρικός Προγραμματισμός Ενότητα 1: Αντικειμενοστραφής Προγραμματισμός Εισαγωγή OBJECT-ORIENTED PROGRAMMING ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ OBJECT-ORIENTED PROGRAMMING

ΜΟΡΦΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Διαδικασιακός (Procedural) ή Προστακτικός (Imperative) Αντικειμενοστρεφής (Object- Oriented) Συναρτησιακός (Functional) Δηλωτικός (Declarative) Pascal, C Java, C++ Lisp Prolog 3/24

Η ΕΝΝΟΙΑ ΤΟΥ ΑΝΤΙΚΕΙΜΕΝΟΥ Προβλήματα του διαδικασιακού προγ/μού. Ενθυλάκωση (Encapsulation) (Δεδομένα και διαδικασίες ενσωματωμένα στην ίδια οντότητα.) Αντικείμενο (Object) 4/24

ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΝΤΙΚΕΙΜΕΝΟΥ Απόκρυψη δεδομένων (Data hiding) Απόκρυψη των δεδομένων του αντικειμένου από τον εξωτερικό κόσμο. Διεπαφή Αντικειμένου (Object interface) Η προσπέλαση της πληροφορίας γίνεται μέσω ενός συνόλου διαδικασιών. 5/24

ΔΟΜΗ ΑΝΤΙΚΕΙΜΕΝΟΥ Στατικό μέρος (private) Δυναμικό μέρος (public) Δεδομένα (Μεταβλητές) Διαδικασίες (Μέθοδοι) ΜΕΘΟΔΟΙ ΔΕΔΟΜΕΝΑ 6/24

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Το πεδίο εφαρμογής θεωρείται ως ένα σύνολο αντικειμένων οργανωμένων σε ιεραρχία(ες), τα οποία επικοινωνούν μεταξύ τους με μηνύματα. Δύο τύποι αντικειμένων * Κλάση (class) * Στιγμιότυπο (instance) 7/24

Κλάση ΚΛΑΣΗ-ΣΤΙΓΜΙΟΤΥΠΟ Περιγράφει μια οικογένεια οντοτήτων με ίδια χαρακτηριστικά και συμπεριφορά (δηλ. μια αφηρημένη οντότητα) Π.χ. σκύλος, τοστιέρα Στιγμιότυπο Περιγράφει μια συγκεκριμένη οντότητα, που παράγεται από μια αντίστοιχη κλάση, στην οποία λέμε ότι ανήκει Π.χ. Πλούτο, η_τοστιέρα_μου 8/24

ΚΛΑΣΗ-ΠΑΡΑΔΕΙΓΜΑ Class Article Variables description price quantity Methods price () : return (1.18 * price) remove (q) : quantity quantity - q 9/24

ΠΑΡΑΓΩΓΗ ΣΤΙΓΜΙΟΤΥΠΩΝ Toaster-GE50 40 20 instance-of Article description price quantity price() remove(q) TV-Sony-A120 350 10 instance-of 10/24

ΙΕΡΑΡΧΙΑ ΚΛΑΣΕΩΝ Οι κλάσεις που συνιστούν ένα (υπο)πρόβλημα (ή ένα (υπο)πρόγραμμα) είναι οργανωμένες σε μια ή περισότερες ιεραρχίες κλάσεων (class hierarchy) Στην ιεραρχία, κάθε κλάση, πλην των τερματικών, έχει μια ή περισσότερες υποκλάσεις (subclasses) Κάθε κλάση έχει μια τουλάχιστον υπερκλάση (superclass) 11/24

ΥΠΟ(ΥΠΕΡ)ΚΛΑΣΕΙΣ Μια υποκλάση αποτελεί εξειδίκευση (specialization) μιας άλλης κλάσης (υπερκλάση) Π.χ. σκύλος κατοικίδιο ηλεκ_κουζίνα ηλεκ_συσκευή Μια υπερκλάση αποτελεί γενίκευση (generalization) μιας κλάσης (υποκλάση) Π.χ. κατοικίδιο σκύλος ηλεκ_συσκευή ηλεκ_κουζίνα 12/24

ΙΕΡΑΡΧΙΑ ΚΛΑΣΕΩΝ-ΠΑΡΑΔΕΙΓΜΑ subclass-of Object Article description price quantity price remove Εξειδίκευση (τεχνικές) Εισαγωγή νέων μεταβλητών ή μεθόδων (addition) Αντικατάσταση μεθόδων (substitution) LuxuryArticle price Clothing color size TVset FreshCaviar Shirt scrwidth scrtech origin weight sleeves pockets 13/24

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (INHERITANCE) inherits-from Object Article description price quantity price remove Κληρονομικότητα Κάθε κλάση κληρονομεί πληροφορίες από όλες τις υπερκλάσεις της Κάθε πληροφορία χαμηλότερα καλύπτει κάθε ίδια πληροφορία υψηλότερα (method overriding) LuxuryArticle price Clothing color size TVset scrwidth scrtech FreshCaviar origin weight Shirt sleeves pockets 14/24

ΙΕΡΑΡΧΙΑ ΚΛΑΣΕΩΝ-ΣΧΕΣΗ ΣΥΝΑΘΡΟΙΣΗΣ Object System Vehicle Car Airplane Wheeling system Brake system Impulse system subclass-of part-of 15/24

ΑΠΟΣΤΟΛΗ ΜΗΝΥΜΑΤΩΝ (MESSAGE PASSING OR SENDING) Ο μόνος τρόπος επικοινωνίας μεταξύ των αντικειμένων Καταλήγει σε ενεργοποίηση αντίστοιχης μεθόδου Στοιχεία μηνύματος Παραλήπτης Όνομα μεθόδου Παράμετροι μεθόδου (πραγματικοί) 16/24

ΑΛΥΣΙΔΑ ΜΗΝΥΜΑΤΩΝ Α1 Α2 Α3 17/24

ΠΛΕΟΝΕΚΤΗΜΑ ΑΣΠ (OOP) Αφαίρεση δεδομένων (ενθυλάκωση-απόκρυψη δεδομένων, υπερφόρτωση μεθόδων-πολυμορφισμός) Τμηματικότητα (κλάσεις, υποκλάσεις) Επεκτασιμότητα (αλλαγές σ ένα αντικείμενο ελάχιστη επίπτωση έχουν στα άλλα) Επαναχρησιμοποίηση (βιβλιοθήκες αντικειμένων) Κατανοησιμότητα (απόρροια των δύο πρώτων) 18/24

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 19/24

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 20/24

Σημείωμα Αναφοράς Copyright: Πανεπιστήμιον Πατρών, Ιωάννης Χατζηλυγερούδης, 2015. «Οντοκεντρικός Προγραμματισμός». Έκδοση: 1.0.1 Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1105/ 21/24

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 23/24

Σημείωμα Χρήσης Έργων Τρίτων 24/24