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

Σχετικά έγγραφα
Οντοκεντρικός Προγραμματισμός

Ειδικά Θέματα Προγραμματισμού

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

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

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

Διάλεξη 1: Αντικειμενοστρεφής Προγραμματισμός -Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

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

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

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

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

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

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

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

Αυτοματοποιημένη χαρτογραφία

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

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version

Δομημένος Προγραμματισμός

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

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

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

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

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

Αυτοματοποιημένη χαρτογραφία

Ειδικά Θέματα Προγραμματισμού

03 Η ιδεατή μηχανή της Java

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

Η ιδεατή μηχανή της Java

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

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

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

Βιοϊατρική τεχνολογία

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

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

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης Ενότητα: 8 η

Αυτοματοποιημένη χαρτογραφία

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

Σχεδίαση με Ηλεκτρονικούς Υπόλογιστές

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors

Μάρκετινγκ Αγροτικών Προϊόντων

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Ειδικά Θέματα Προγραμματισμού

Μάρκετινγκ Αγροτικών Προϊόντων

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 1: Εισαγωγικό Μάθημα

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

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

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

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

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

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

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

Αξιολόγηση και ανάλυση της μυϊκής δύναμης και ισχύος

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

05β Η ιδεατή μηχανή της Java

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

Στρατηγικό Μάρκετινγκ

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

Ιστορία της μετάφρασης

Η ΣΥΝΕΧΙΖΟΜΕΝΗ ΕΚΠΑΙΔΕΥΣΗ ΣΤΙΣ ΧΩΡΕΣ-ΜΕΛΗ ΤΗΣ Ε.Ε: ΘΕΣΜΟΙ ΚΑΙ ΠΡΑΚΤΙΚΕΣ

Προγραμματισμός Η/Υ. 1 η ενότητα: Εισαγωγή στις γλώσσες προγραμματισμού. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

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

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

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

ΜΑΘΗΜΑ: Μεταγλωττιστές

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Γεωργική Εκπαίδευση Ενότητα 9

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Θεωρία Πιθανοτήτων & Στατιστική

Java sessions. Part 1 - Βασικά έννοιες - μέθοδοι

Διδακτική Μεθοδολογία του μαθήματος της Ιστορίας στη δευτεροβάθμια εκπαίδευση (με εφαρμογές)

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Εισαγωγή

Εξέλιξη Μεθοδολογιών Προγρ/μού Γλώσσα μηχανής. Υψηλότερου επιπέδου γλώσσες (Fortran). Δομημένος προγραμματισμός (C, Pascal). Έμφαση στον κώδικα που επενεργεί σε δεδομένα. Αντικειμενοστρεφής (C++, Java). Έμφαση στα δεδομένα, μαζί με τα οποία ορίζεται και ο κώδικας που μπορεί να τα διαχειρίζεται. 5

Κλάσεις και Αντικείμενα Αντικείμενα (objects). Μοντελοποιούν αντικείμενα από το πεδίο της εφαρμογής που αναπτύσσουμε. Ένα συγκεκριμένο αντικείμενο καλείται και στιγμιότυπο (instance) μιας κλάσης. Κλάσεις (classes). Αναπαριστούν γενικές κατηγορίες αντικειμένων. Περιγράφουν το είδος των αντικειμένων. 6

Αρχές Αντικειμενοστρέφειας Ενθυλάκωση (encapsulation). Στενή σύνδεση δεδομένων και κώδικα που επενεργεί σε αυτά τα δεδομένα (κλάσεις). Πολυμορφισμός. Μια διεπαφή για εναλλακτικές λειτουργίες. Π.χ. τιμόνι αυτοκινήτου (ηλεκτρικό, υδραυλικό, ). Κληρονομικότητα (inheritance). Τα δεδομένα και ο κώδικας μιας κλάσης (πρόγονος). μεταφέρονται σε μια άλλη κλάση (απόγονος). 7

Πλατφόρμες και Ανεξαρτησία Πλατφόρμα. Υλικό ή/και λογισμικό περιβάλλον μέσα στο οποίο εκτελείται ένα πρόγραμμα. Π.χ. λειτουργικό σύστημα. Ανεξαρτησία λογισμικού από την πλατφόρμα. Ο πηγαίος κώδικας να μπορεί να εκτελεστεί σωστά ανεξάρτητα από την πλατφόρμα. Ο πηγαίος κώδικας να μεταγλωττίζεται μία φορά και να μπορεί να τρέχει σε όλες τις πλατφόρμες. 8

Σύντομο Ιστορικό της Java 1991, αρχική ιδέα από τη Sun Microsystems. Ανάπτυξη γλώσσας προγ/μού ανεξαρτήτου πλατφόρμας για συσκευές ευρείας κατανάλωσης. 1993, νέος στόχος: γλώσσα γενικού σκοπού. Ανάπτυξη παγκόσμιου ιστού. Απαιτήσεις για ασφαλές και ανεξάρτητο από πλατφόρμα λογισμικό. 1996, κυκλοφορεί η πρώτη έκδοση της Java. 2010, εξαγορά της Sun από την Oracle. 9

Java: Γλώσσα και Πλατφόρμα Γλώσσα προγραμματισμού. Απλή, εύρωστη, ασφαλής, αντικειμενοστρεφής, ανεξάρτητη από την πλατφόρμα, φορητή, πολυνηματική, κατανεμημένη, υψηλής επίδοσης. Πλατφόρμα. 10

Η Εικονική Μηχανή της Java (1/2) Bytecode. Ενδιάμεση μορφή κώδικα που παράγει ο μεταγλωττιστής της Java. Java Virtual Machine (JVM). Λογισμικό που υλοποιεί μια αφηρημένη αρχιτεκτονική επεξεργαστή και διερμηνεύει τον κώδικα bytecode σε γλώσσα μηχανής. 11

Η Εικονική Μηχανή της Java (2/2) Πλεονεκτήματα. Ασφάλεια. Φορητότητα. Μειονεκτήματα. Ταχύτητα εκτέλεσης. Αύξηση ταχύτητας με δυναμική (Just-in-time JIT) μεταγλώττιση. 12

Παραλλαγές της Πλατφόρμας Java SE (Standard Edition). Σταθμοί εργασίας και φορητοί υπολογιστές. Java ME (Micro Edition). Εφαρμογές για φορητές συσκευές. Ευέλικτες διεπαφές χρήστη, δικτυακή υποστήριξη. Java EE (Enterprise Edition). Kατανεμημένες εφαρμογές επιχειρήσεων. Συναλλαγές, ασφάλεια, διαλειτουργικότητα. 13

Εκδόσεις της Java Έκδοση Ημερομ. Κλάσεις Πακέτα Νέα χαρακτηριστικά Java 1.0 01-1996 212 8 Java 1.1 02-1997 504 22 Εσωτερικές κλάσεις Java 1.2 12-1998 1520 59 Java 2, collections, Swing, J2ME, J2EE, Java 2 1.3 05-2000 1842 76 HotSpot, Sound, Java 2 1.4 02-2002 2991 135 XML, GUI, Images, Java 2 5.0 09-2004 3562 166 generics, enum, for/in, autoboxing, Java 6 12-2006 3777 202 Web services, XML, DB, Desktop, Java 7 07-2011 4024 209 Υποστήριξη πρόσφατων πρωτοκόλλων δικτύου, καρτών γραφικών, 14

Ορολογία: JRE και JDK Java Runtime Environment (JRE). Περιβάλλον εκτέλεσης προγραμμάτων που υλοποιεί την αρχιτεκτονική JVM, παρέχει το API με τις βιβλιοθήκες έτοιμου λογισμικού και άλλα βοηθητικά εργαλεία εκτέλεσης προγραμμάτων. Java Development Kit (JDK). Περιλαμβάνει ένα πλήρες JRE και Εργαλεία για μεταγλώττιση (javac), τεκμηρίωση (javadoc), συσκευασία (jar) και άλλα. 15

Η Πλατφόρμα Java SE 7 16

Java και Παγκόσμιος Ιστός Τα applets είναι ειδικά προγράμματα Java. Εκτελούνται μέσα σε έναν Web browser. Μπορούν να «κατέβουν» αυτόματα σε αυτόν. Έχουν περιορισμένες δυνατότητες (π.χ. πρόσβαση στο τοπικό σύστημα αρχείων). Οφέλη. Ασφάλεια. Φορητότητα. 17

Το Πρώτο μας Πρόγραμμα Κατεβάζουμε το τελευταίο JDK της Java SE. http://www.oracle.com/technetwork/java/javase/ Δύο βασικά προγράμματα. javac (μεταγλωττιστής Java σε bytecode). java (διερμηνευτής bytecode σε γλώσσα μηχανής). Εγκαθιστούμε ένα IDE. Ολοκληρωμένο περιβάλλον ανάπτυξης (κώδικα). Π.χ. NetBeans, Eclipse,... 18

Το Πρώτο μας Πρόγραμμα // Αρχείο με όνομα HelloWorld.java public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } 19

Μεταγλώττιση και Εκτέλεση Στη γραμμή εντολών. javac HelloWorld.java java HelloWorld Στο NetBeans IDE. Δημιουργία, μεταγλώττιση και εκτέλεση προγράμματος. 20

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τέλος Ενότητας Επεξεργασία: Εμμανουήλ Ρήγας Θεσσαλονίκη, Εαρινό Εξάμηνο 2013-2014