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



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

ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Χαρίδημος Κονδυλάκης Εισαγωγή

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

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

Προγραμματισμός Διαδικτύου

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

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

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

Προγραμματισμός Διαδικτύου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

Δοµές Δεδοµένων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο Ευάγγελος Μαρκάκης

Γλώσσες Προγραμματισμού

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

Χειµερινό Εξάµηνο 2013

Δομές Δεδομένων (Data Structures)

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή Χειμερινό Εξάμηνο Παναγιώτης Τσαπάρας

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670

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

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

Προγραµµατισµός Η/Υ. Δρ. Δ.Ν. Παγώνης. Καθηγητής Εφαρµογών. Τηλ: Τµήµα Ναυπηγών Μηχανικών ΤΕ, ΤΕΙ Αθήνας

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

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

ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ ΚΩΔ. ΜΑΘ. ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ ΔΙΔΑΣΚΩΝ ΑΙΘΟΥΣΕΣ ΑΡ. ΦΟΙΤΗΤΩΝ

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Εισαγωγή Χειµερινό Εξάµηνο 2014

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

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

1

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

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

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

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

Βασικά της γλώσσας JAVA

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

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

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

Περιγραφή Μαθήματος ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ. Γεώργιος Παπαϊωάννου ( )

Προγραμματισμός Διαδικτύου

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

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

ΜΕΤΑΒΑΤΙΚΕΣ ΠΡΟΫΠΟΘΕΣΕΙΣ ΑΠΟΚΤΗΣΗΣ ΠΤΥΧΙΟΥ

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

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

Προγραμματισμός Διαδικτύου

Τεχνολογίες Υλοποίησης Αλγορίθµων

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

Ποιες Νέες Τεχνολογίες; Εισαγωγή. 1841: Μαυροπίνακας. 1940: Κινούµενη Εικόνα. 1957: Τηλεόραση

Outline. 4 Object-Oriented Programming

Ιεραρχία Οργανισµών Οι οργανισµοί που ζουν στο οικοσύστηµά µας κατατάσσονται σύµφωνα µε την παρακάτω ιεραρχία: Organisms

Αλγόριθµοι και Πολυπλοκότητα

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

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

ΧΡΗΣΙΜΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ

Αλγόριθμοι και Πολυπλοκότητα

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Προγραµµατιστικές τεχνικές

Γενικά (για τις γραπτές εξετάσεις)

Γλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού

Προγραμματισμός Χειμερινό Εξάμηνο 2014

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

Περιεχόμενα. Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή Κεφάλαιο 2 Δεδομένα και εκφράσεις Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου...

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Α. Ερωτήσεις Ανάπτυξης

ΗΥ252 - Οντοκεντρικός Προγραµµατισµός Προγραµµατιστική Εργασία Εαρινού Εξαµήνου 2004 Περιγραφή Παραδοτέων

Μοτίβα Σχεδίασης (Design Patterns)

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

3. Περιγράμματα Μαθημάτων Προγράμματος Σπουδών

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

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

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

Κλάσεις και Αντικείµενα

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

Περιεχόμενα. Πρόλογος 15

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΏΝ

Οδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος

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

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

ΚΕΦΑΛΑΙΑ attributes parameters

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τµήµα ιοικητικής Επιστήµης και Τεχνολογίας ΥΛΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ JAVA.

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

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

Transcript:

ΗΥ : Αντικειµενοστρεφής Προγραµµατισµός http://www.csd.uoc.gr/~hy Β. Χριστοφίδης christop@ics.forth.gr Τµήµα Επιστήµης Υπολογιστών, Πανεπιστήµιο Κρήτης Ηράκλειο Κρήτης

Γενικές Πληροφορίες Ώρες ιδασκαλίας Κάθε Τρίτη και Πέµπτη 7:00-9:00, Αµφ. Γ Ώρες Γραφείου Κάθε Τρίτη και Πέµπτη :00-:00 Γραφείο 07 (Λευκά Κτ.) Φροντιστήρια Κάθε Τετάρτη, 9:00-:00, Αµφ. Γ ιδακτικές Μον. Προαπαιτούµενα Συνιστώµενα Μαθήµατα Εγγραφή στα λίστα του µαθήµατος Προγραµµατισµός (ΗΥ0) οµές εδοµένων (ΗΥ0) Κάθε φοιτητής οφείλει να στείλει ηλεκτρονικό µήνυµα στη διεύθυνση: majordomo@csd.uoc.gr µε περιεχόµενο: subscribe hy-list για να εγγραφούν στην λίστα του µαθήµατος Σκοπός Μαθήµατος Αυτό το µάθηµα παρέχει µια εισαγωγή στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming) χρησιµοποιώντας τη γλώσσα προγραµµατισµού Java Ο σκοπός του είναι να διδάξει τις βασικές έννοιες και τεχνικές που συνιστούν το υπόδειγµα του αντικειµενοστρεφούς προγραµµατισµού Φοιτητές που ολοκληρώνουν το µάθηµα θα είναι σε θέση να γνωρίζουν: Το µοντέλο του αντικειµενοστρεφούς προγραµµατισµού: αφαιρετικοί τύποι δεδοµένων,ενθυλάκωση,κληρονοµικότητα,πολυµορφισµός Τα βασικά στοιχεία µιας γλώσσας αντικειµενοστρεφούς προγραµ- µατισµού όπως η Java: κλάσεις και διεπαφές αντικειµένων, εξαιρέσεις µεθόδων και χειρισµός συλλογών αντικειµένων Πώς από την περιγραφή ενός προβλήµατος να καθορίζουν την λογική για την επίλυση του προβλήµατος σύµφωνα µε το υπόδειγµα του αντικειµενοστρεφούς προγραµµατισµού και κατόπιν να είναι σε θέση να την υλοποιούν σε ένα Java πρόγραµµα Πώς να δοκιµάζουν, τεκµηριώνουν και προετοιµάζουν ένα επαγγελµατικό πρόγραµµα χρησιµοποιώντας τα εργαλεία της Java (assertions, javadoc, packages) καθώς και ολοκληρωµένα περιβάλλοντα ανάπτυξης λογισµικού

Επισκόπηση Μαθήµατος. Εισαγωγή στις Γλώσσες και τα Υποδείγµατα Προγραµµατισµού: Γιατί χρειαζόµαστε τον Αντικειµενοστρεφή Προγραµµατισµό. Στοιχεία ιαδικαστικού Προγραµµατισµού σε Java: Τύποι, Μεταβλητές & Τελεστές. Από τις οµές εδοµένων στους Αφαιρετικούς Τύπους εδοµένων: Η έννοια του προγραµµατισµού βασισµένου σε συµβόλαια. Κλάσεις : Κατάσταση (Τιµές Στιγµιότυπων) και Συµπεριφορά (Μέθοδοι) των Αντικειµένων, Ενθυλάκωση και Υπερφόρτωση Μεθόδων. Κληρονοµικότητα Κλάσεων: Υποσκελισµός Μεθόδων, υναµική έσµευση Ονοµάτων και η έννοια του Πολυµορφισµού 6. Παραβιάσεις Συµβολαίων & Εξαιρέσεις Μεθόδων: Ορισµός, ηµιουργία, Χειρισµός 7. Αφαιρετικοί Τύποι εδοµένων σε Java: Εικονικές Κλάσεις & ιεπαφές 8. Το Πλαίσιο Χειρισµού Συλλογών Αντικειµένων στην Java 9. Ανακλαστικός Προγραµµατισµός στην Java 0.Θεµέλια Τύπων Αντικειµένων: Το Σύστηµα Τύπων της Java. Ροές εδοµένων και Αρχεία σε Java.Γραφικές ιεπαφές Χρήσης και Java Applets. Κατανεµηµένος & Σύγχρονος Προγραµµατισµός σε Java Βαθµολόγηση Μαθήµατος Οι φοιτητές απαιτείται να επιδείξουν την δεξιότητα τους στον αντικειµενοστραφή προγραµµατισµό υποβάλλοντας γραπτές ασκήσεις που καλύπτουν συνολικά το υλικό του µαθήµατος και ακόµα σχεδιάζοντας και υλοποιώντας σε Java µια µη-τετριµµένη εφαρµογή ΤΒ =.Π +.Τ +.Α +.Ε Ανν Τ >=.7 και Ε.>=, διαφορετικά ΤΒ = min(τ,e) Σάββατο //: ανοικτές Πρόοδος % σηµειώσεις και βιβλία Τελική Εξέταση % Ηµ/νία θα ανακοινωθεί Παρασκευή 9/0/: σειρά (%) Ασκήσεις % Τετάρτη 6//: σειρά (0%) Εργασία % Φάση : Σχεδίαση και Υλοποίηση ιεπαφών Java Φάση : Υλοποίηση Μεθόδων & GUIs 0% Παρασκευή 07// % Παρασκευή /0/ 6

Υποστήριξη Μαθήµατος Βιβλία : ❶Απόλυτη Java, W. Savitch, ΙΩΝ, 008 ❷Java µε UML: Αντικειµενοστρεφής σχεδιασµός και προγραµµατισµός, E. Lervik, V Havdal Κλειδάριθµος, 00 ❸Αναπτυξη Προγραµµατων σε Java: Αφαιρέσεις, προδιαγραφές και αντικειµενοστρεφής σχεδιασµός, B. Liskov, J. Guttag, Κλειδάριθµος, 007 ❹Java Collections: An Introduction to Abstract Data Types, Data Structures and Algorithms, D. A. Watt, D. F. Brown, D. Watt, John Wiley & Sons 00 Βοηθοί : Κλεισαρχάκη Σοφία (kleisar@csd.uoc.gr) Λούτσης Λαέρτης (loutsis@csd.uoc.gr Μεϊδάνης Χαράλαµπος (xarmeid@csd.uoc.gr) Παπακωνσταντίνου Βασίλης (papv@csd.uoc.gr) Παρταράκης Νικόλαος (partarak@csd.uoc.gr) Σεληνιωτάκη Αλέκα (aseliniotaki@csd.uoc.gr) Χόρτης Μιχάλης(mhortis@csd.uoc.gr) Ώρες Γραφείου Βοηθών: Κάθε Τετάρτη, 7:00-9:00 Γραφεία Βοηθών 7 Επιπλέον Πληροφοριακό Υλικό: The Java APIs Ρωτήσαµε τους φοιτητές προηγούµενων ετών πως θα µπορούµε να βελτιώσουµε το µάθηµα. Πολλοί απάντησαν: Γιατί δεν µας µιλήσατε σχετικά µε τις Java API από την πρώτη µέρα? Οι προγραµµατιστικές διεπαφές της Java (Application Programmers Interface) αφορούν όλες τις υλοποιηµένες δυνατότητες της γλώσσας και περιγράφονται στα αντίστοιχα εγχειρίδια της κατασκευάστριας εταιρίας. Στην αρχή είναι δύσκολη η κατανόηση τους, στην συνέχεια όµως θα µπορέσετε να τα διαβάσετε και το κυριότερο να τα χρησιµοποιήσετε µε ευκολία. 8

Που Μπορείτε να Βρείτε την Τεκµηρίωση των Java APIs? http://java.sun.com/javase/6/docs/api/ 9