ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

Σχετικά έγγραφα
FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

Εισαγωγή στον Προγραμματισμό με C++

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Περιεχόμενο του μαθήματος

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Χρήση Αντικειμενοστραφούς Προγραμματισμού στον Υπολογιστικό Ηλεκτρομαγνητισμό

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

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

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

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

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός

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

Εισαγωγή στην επιστήμη των υπολογιστών

Πληροφορική 2. Γλώσσες Προγραμματισμού

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Θεόδωρος Γ. Λάντζος Διάλεξη Νο1

(Διαφάνειες Νίκου Βιδάκη)

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

2.1 Αντικειµενοστρεφής προγραµµατισµός

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

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

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

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

Υποδείγματα Ανάπτυξης

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

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

Σύνθεση και Κληρονομικότητα

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Διαδικαστικά

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος Διάλεξη Νο6

Σύνθεση και Κληρονομικότητα

Π2 Το Σύστηµα Κανόνων CLIPS

Βασικές Αρχές Προγραμματισμού

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

Από τον αλγόριθμο στην ανάπτυξη προγράμματος

Λογισµικό (Software SW) Γλώσσες

ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Ηλεκτρονικοί Υπολογιστές

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

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

ΑΕΠΠ Ερωτήσεις θεωρίας

Δημιουργία προγραμμάτων Java

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής - Εβδομάδα 1

Διαγράμματα Κλάσεων στη Σχεδίαση

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Αντικειμενοστραφής Προγραμματισμός και JavaScript

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

Τεχνολογία Λογισμικού

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Αρχές Προγραμματισμού Υπολογιστών

Outline. 4 Object-Oriented Programming

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Wrapper Classes, Abstract Classes and Interfaces

ΕΦΑΠΤΟΜΕΝΗ ΓΩΝΙΑΣ ΚΑΙ ΚΛΙΣΗ ΕΥΘΕΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β' ΓΥΜΝΑΣΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης

Αντικειμενοστρεφής προγραμματισμός Object Oriented Programming (OOP) Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ

Το παιχνίδι Arkanoid με ΒΥΟΒ Στο παιχνίδι αυτό γίνεται εφαρμογή των δυνατοτήτων που προσφέρει το BYOB στον αντικειμενοστραφή προγραμματισμό.

Μαλούτα Θεανώ Σελίδα 1

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

ΠΕΡΙΕΧΟΜΕΝΑ Αντικειμενοστραφής προγραμματισμός Οδηγούμενος από γεγονότα προγραμματισμός Υλοποίηση εφαρμογών σε σύγχρονο προγραμματιστικό

MATHematics.mousoulides.com

Μεταβατικό Πρόγραμμα Σπουδών και Συμπληρωματικό Εκπ/κό Υλικό

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Κλάσεις στην Python. Δημιουργία κλάσεων

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Sites: http://olympos.esd.ece.ntua.gr http://mfol.ece.ntua.gr

Προγραμματιστικά μοντέλα 1 Συναρτησιακός Προγραμματισμός Κλασικές γλώσσες προγραμματισμού (FORTRAN, C, Pascal) Προσανατολισμός στα δεδομένα Το πρόγραμμα ορίζει τα δεδομένα και μετά καλεί υπορουτίνες για να επεξεργαστεί τα δεδομένα.

Προγραμματιστικά μοντέλα 2 Αντικειμενοστραφής Προγραμματισμός Αντικειμενοστραφείς γλώσσες προγραμματισμού (Java, C++) Προσανατολισμός στα αντικείμενα Το πρόγραμμα δημιουργεί αντικείμενα τα οποία ενθυλακώνουν τα δεδομένα και τις υπορουτίνες που τα επεξεργάζονται.

Βασικές έννοιες Αντικείμενο (Object) (Method) Τάξη (Class) Ενθυλάκωση (Encapsulation) Μήνυμα (Message) Πολυμορφισμός (Polymorphism) Κληρονομικότητα (Inheritance)

Τι είναι αντικείμενο 1 Μέρος ενός προγράμματος που Μοντελοποιεί κάποιο αντικείμενο (αληθινό ή έννοια) έχει συμπεριφορά Τα πράγματα που μπορεί να κάνει ένα αντικείμενο έχει κατάσταση Οι πληροφορίες που γνωρίζει ένα αντικείμενο

Τι είναι αντικείμενο 2 Μέθοδοι Συμπεριφορά (συμπεριφορά) Μεταβλητές Κατάσταση (κατάσταση) Κατάσταση Συμπεριφορά Μέλη του αντικειμένου (ομοιότητα με τις μεταβλητές των κλασικών γλωσσών Μέθοδοι του αντικειμένου (ομοιότητα με τις συναρτήσεις των συναρτησιακών γλωσσών)

Τάξεις (Κλάσεις) Μια τάξη είναι ένα «πρότυπο». Δεν περιέχει δεδομένα μέχρι να δημιουργηθεί ένα αντικείμενο από την τάξη. Η κατάσταση και η συμπεριφορά ορίζονται μέσα στην τάξη. Ένα αντικείμενο που δημιουργείται από μία τάξη ονομάζεται στιγμιότυπο (instance) της τάξη.

Αναλογία τάξεων - αντικειμένων Τάξη Χρώμα Φοιτητής Αυτοκίνητο Υλικό Αντικείμενο Μπλε el98182 Hyundai Getz Αέρας

Διάγραμμα τάξης Διεπαφή Εσωτερικές/ιδιωτικές μέθοδοι που μόνο η ίδια η τάξη έχει πρόσβαση Πεδία της τάξης Ορίζονται από την τάξη, συμπληρώνονται από το αντικείμενο

Ενθυλάκωση (Encapsulation) Παράδειγμα - ΑΤΜ Κρυμμένα δεδομένα Υπόλοιπο λογαριασμού Προσωπικά δεδομένα Διεπαφή Κατάθεση, ανάληψη, μεταφορά Εμφάνιση στοιχείων λογαριασμού

Τάξεις - προγραμματισμός Αυτοκίνητο Κρυμμένα δεδομένα Ταχύτητα Βενζίνη Διεπαφή Στρίψε αριστερά/δεξιά Επιτάχυνση Επιβράδυνση

Τάξεις πολλαπλά αντικείμενα Πολλά αυτοκίνητα Δεν υπάρχει περιορισμός στον αριθμό των στιγμιότυπων μιας τάξης Τα στιγμιότυπα είναι ανεξάρτητα μεταξύ τους. Αλλαγές σε ένα δεν επηρεάζουν τα υπόλοιπα

Επικοινωνία 1 Ένα πρόγραμμα αποτελείται από πολλά αντικείμενα Κάποιες τάξεις ίσως περιέχουν αναφορές σε άλλες τάξεις σαν μέρος των πεδίων τους ή της συμπεριφοράς τους Το πρόγραμμα ξεκινάει από μία συγκεκριμένη μέθοδο μιας τάξης, δημιουργεί αντικείμενα και καλεί μεθόδους τους.

Επικοινωνία 2 Μήνυμα Μήνυμα Πολυμορφισμός Εκφράζει αίτημα ενός αντικειμένου προς ένα άλλο προκειμένου να παραγάγει αποτέλεσμα Επιτρέπει την αποστολή του ίδιου μηνύματος σε αντικείμενα διαφόρων τάξεων

Κληρονομικότητα 1 Όχημα Αυτοκίνητο Αεροπλάνο Καράβι Κληρονομικότητα Ιεραρχία τάξεων Υπερ-τάξεις υπο-τάξεις Πατέρας, παιδί, απόγονος

Κληρονομικότητα 2 Μια τάξη περιέχει όλες τις ιδιότητες και τις μεθόδους της τάξης από την οποία προήλθε, μαζί με τις επιπλέον που ορίζει. Μια υποτάξη μπορεί να αλλάξει τον ορισμό μιας μεθόδου παρέχοντας τη δικιά της υλοποίηση. Ο κώδικας της υποτάξης περιέχει μόνο τις αλλαγές και τις προσθήκες.

Κληρονομικότητα 3 Διεπαφή override Πεδία της τάξης Επιπλέον πεδία

Κληρονομικότητα 4 Πλεονεκτήματα Modular Λιγότερος και ευκολότερα κατανοητός κώδικας Επαναχρησιμοποίηση κώδικα Κάτι που φτιάχτηκε μια φορά μπορεί να χρησιμοποιηθεί ξανά Ευκολότερη αναβάθμιση Δεν χρειάζεται αλλαγή στον πηγαίο κώδικα Πολυμορφισμός

Κληρονομικότητα 5 Παραδείγματα Σχήμα Πεδία Χρώμα, χρώμα γραμμής Μέθοδοι Ζωγράφισε, μετακίνησε, περίστρεψε Τάξη παιδί: Κύκλος Επιπλέον πεδία Κέντρο, ακτίνα Μέθοδοι Ζωγράφισε (διαφορετική υλοποίηση).

Πλεονεκτήματα αντικειμενοστραφούς προγραμματισμού Απόκρυψη πληροφορίας (το κάθε αντικείμενο βλέπει το άλλο σαν μαύρο κουτί) Αφαιρετικότητα και εκφραστική δύναμη Ευκολότερη συντήρηση, κατανόηση και αναβάθμιση του κώδικα (modularity) Επαναχρησιμοποίηση του κώδικα (το ίδιο αντικείμενο μπορεί να χρησιμοποιηθεί σε διάφορα προγράμματα χωρίς ο προγραμματιστής να γνωρίζει την υλοποίηση του Μέσω της χρήσης των αντικειμένων, η λύση του προβλήματος περιγράφεται μέσω όρων που συνιστούν το πρόβλημα Ευελιξία Μέσω της χρήσης της κληρονομικότητας και του πολυμορφισμού