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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

2. Προσδιοριστές, δεσμευμένες λέξεις και τύποι

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Βασικά Στοιχεία της Java

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Βασικά Στοιχεία της Java

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Υποστηρικτικό υλικό Σημειώσεις

Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων. Εισαγωγή στη γλώσσα προγραµµατισµού. Java. Βασίλειος Βεσκούκης

Δομές ελέγχου ροής προγράμματος

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

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

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

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Προγραμματισμό για ΗΜΥ

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

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Προγραμματισμός Η/Υ (ΤΛ2007 )

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

είκτες και Πίνακες (2)

Στοιχεία εξεταζόµενου Αριθµός Απάντησης Βαθµολογία. Σύνολο (Θέµα 4 ο )

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

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

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

Λειτουργικά Συστήματα

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

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

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

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

Προγραµµατισµός JAVA. ρ Γεώργιος Μαυροµµάτης Πειραιάς 2004

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

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

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

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

Προγραμματισμός Συστημάτων

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

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

Ευφυείς Τεχνολογίες ----Πράκτορες

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

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

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

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

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

ΕΞΑΙΡΕΣΕΙΣ. Εξαιρέσεις προκαλούνται. από το σύστηµα. από το πρόγραµµα

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

Προγραμματισμός Ι (HY120)

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

Εργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω.

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ

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

Mεταβλητές (variables) και Σταθερές (constants)

ΕΠΛ 012. JavaScripts

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008

Διδάσκων: Παναγιώτης Ανδρέου

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

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.

Κεφάλαιο : Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Transcript:

16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Αντικειµενοστρεφής Προγραµµατισµός Αντικειµενοστρεφείς Γλώσσες Προγραµµατισµού Αντικειµενοστρεφείς οµές H Γλώσσα Προγραµµατισµού JAVA 2 1

Σήµερα Βασικά της γλώσσας JAVA οµή ενός προγράµµατος JAVA Εργασία µε Import, Μέθοδοι, Σχόλια Λέξεις-Κλειδιά της JAVA, Προσδιοριστικά της JAVA Τύποι εδοµένων, δηλώσεις & απόδοση τιµών ιαχείριση ακολουθιών, Είσοδος & Έξοδος Πίνακες, Τελεστές Έλεγχος ροής 3 Τα προγράµµατα της JAVA υφίστανται σε δύο µορφές: Applets & Applications Ο πηγαίος κώδικας της JAVA µπορεί να είναι δοµηµένος µε δύο τρόπους: Είτε να αποτελεί ένα applet Είτε να αφορά µία αυτόνοµη εφαρµογή 4 2

Τα Applets είναι: προγράµµατα µικρού έως µεσαίου µεγέθους σχεδιάστηκαν για να διανέµονται & να χρησιµοποιούνται στο World Wide Web. Είναι τυπικά τµήµατα µιας ιστοσελίδας. Τα Java applets έτυχαν ιδιαίτερης προσοχής εξαιτίας της υπερβολικής προώθησης του Web. 5 Ένα παράδειγµα java applet <HTML> <HEAD> <TITLE> A Simple Program </TITLE> </HEAD> <BODY> <HR> <APPLET code = MyFirstApplet.class width = 300 height = 200 > </APPLET> <HR> </BODY> </HTML> Το MyFirstApplet.class είναι εκτελέσιµο αρχείο σε επίπεδο bytecode έχει προκύψει από την µεταγλώττιση αρχείου πηγαίου κώδικα σε java 6 3

Η Java επίσης χρησιµοποιείται για να δηµιουργήσει συστατικά Web εφαρµογών πλευράς server. Όµως το σηµαντικότερο η Java είναι χρήσιµη για την δηµιουργία αυτόνοµων εφαρµογών. 7 Πηγαίος Κώδικας & Μεταγλώττιση Ο πηγαίος κώδικας της java είναι ένα text αρχείο έχει πάντα την κατάληξη.java. MyProgram.java Η µεταγλώττιση από τον compiler γίνεται ως εξής: javac MyProgram.java javac (java-compiler) η εντολή κλήσης του compiler. 8 4

Πηγαίος Κώδικας & Μεταγλώττιση Στον ίδιο κατάλογο παράγεται ένα byte code αρχείο µε την κατάληξη.class και µε ακριβώς την ίδια ονοµασία. MyProgram.class Η εκτέλεση προγράµµατος γίνεται ως εξής: java MyProgram 9 programname.java programname.class 10 5

Τα συστατικά του προγράµµατος Java Στο απλούστερο επίπεδο, ένα πρόγραµµα Java αποτελείται από δύο µέρη, που το ένα περιέχεται µέσα στο άλλο. Ένα πρόγραµµα Java είναι µία κλάση και ορίζεται ως εξής: public class ProgramName { } Το δεύτερο ουσιαστικό µέρος ενός προγράµµατος Java είναι η συνάρτηση main. 11 Τα συστατικά του προγράµµατος Java public class ProgramName { public static void main(string args[]) {. } } Η main παίρνει ένα όρισµα µε όνοµα args[] τύπου string. 12 6

Τα συστατικά του προγράµµατος Java public static void main(string args[]) Η µέθοδος main της JAVA int main(int argc, char *argv[]) Η συνάρτηση main της C 13 Τα συστατικά του προγράµµατος Java public class MyFirstProgram { public static void main(string args[]) { System.out.println( hello there! ); } } ονοµασία του αρχείου πηγαίου κώδικα MyFirstProgram.java συµπίπτει µε την ονοµασία της κλάσης MyFirstProgram 14 7

Τα συστατικά του προγράµµατος Java Η µέθοδος main() δηλώνεται ως εξής: public, για να είναι προσβάσιµη από οπουδήποτε static, για να είναι προσβάσιµη ακόµη και εάν κανένα αντικείµενο της κλάσης MyFirstProgram δεν δηµιουργηθεί void, επειδή δεν επιστρέφει ορίσµατα η µεταβλητή args αντιστοιχεί στα ορίσµατα εισόδου που η main µπορεί να δέχεται από τη γραµµή εντολών 15 Παράδειγµα εφαρµογής πέντε διαφορετικές κλάσεις - πέντε δηλαδή διαφορετικά αρχεία πηγαίου κώδικα: δηµιουργία αντικειµένων από τις κλάσεις. 16 8

άµεση δηµιουργία αντικειµένων έµµεση δηµιουργία αντικειµένων 17 Εργασία µε την πρόταση import Ανάλογη µε την include της C Η χρήση της import επιτρέπει την πρόσβαση κάθε προγράµµατος σε κλάσεις που χρησιµοποιεί. Κλάσεις που αποτελούν µέρος της γλώσσας JAVA Κλάσεις που οι χρήστες δηµιουργούν Οι προτάσεις import τοποθετούνται στην αρχή ενός αρχείου & πριν τον ορισµό µιας κλάσης 18 9

Εργασία µε Import Με την import εισάγονται στο πρόγραµµα κλάσεις µεµονωµένα από πακέτα. π.χ. import my.package.someclass; Με την import εισάγονται στο πρόγραµµα όλες οι κλάσεις από κάποιο πακέτο εισάγοντας τον χαρακτήρα *. π.χ. import java.io.*; Τα πακέτα που αποτελούν µέρος της JAVA έχουν ονόµατα που αρχίζουν µε java. Η χρήση µιας κλάσης χωρίς την εισαγωγή της προκαλεί σφάλµα στην µεταγλώττιση. 19 Μέθοδοι Στην Java, µία µέθοδος είναι ουσιαστικά µία συνάρτηση της C. µία µέθοδος αποτελεί ένα σώµα εντολών (µε τη µορφή προγραµµατιστικής συνάρτησης) οι οποίες επενεργούν σε κάποιες µεταβλητές. Μία µέθοδος µπορεί να δέχεται κάποια ορίσµατα τιµών ενώ ταυτόχρονα µπορεί να επιστρέφει κάποιο αποτέλεσµα 20 10

Μέθοδοι return return_value; 21 Μέθοδοι Γενικά στην ίδια κλάση Μπορούµε να έχουµε πολλές µεθόδους µε την ίδια ονοµασία, πρέπει τα ορίσµατα εισόδου τους να διαφοροποιούνται έτσι ώστε να ξεχωρίζουν µεταξύ τους. void listvalues(); {... } void listvalues(double value1, double value2); {... } 22 11

Μέθοδοι Οι µέθοδοι µιας κλάσης χωρίζονται σε δύο κατηγορίες: Μέθοδοι Αντικειµένων (Instance Methods) Μέθοδοι Κλάσης (Class Methods) 23 Μέθοδοι Αντικειµένων (Instance Methods) Η κατηγορία αυτή αφορά µεθόδους οι οποίες όταν καλούνται αναφέρονται σε ένα συγκεκριµένο αντικείµενο µιας κλάσης. Αντίθετα απ ότι συµβαίνει µε τις µεταβλητές αντικειµένων, στη µνήµη κρατείται ένα µόνο αντίγραφο για κάθε τέτοια µέθοδος. Κάθε φορά που ένα αντικείµενο εκτελεί µία τέτοια µέθοδος, ένας ειδικός µηχανισµός εξασφαλίζει την µοναδικότητα της εκτέλεσής της από το συγκεκριµένο αντικείµενο. 24 12

Μέθοδοι Κλάσης (Class Methods) Οι µέθοδοι αυτοί µπορούν να εκτελεστούν ακόµα και εάν δεν υπάρχουν αντικείµενα της συγκεκριµένης κλάσης. Για το λόγο αυτό καλούνται και στατικές (static methods) και ξεχωρίζουν προτάσσοντας το λεκτικό static. 25 Σχόλια Προσθήκη σχολίων τρεις τρόποι 1. /* Αυτό είναι ένα µεγάλο σχόλιο*/ 2. // Αυτό είναι ένα σχόλιο 3. /** Αυτό είναι ένα µεγάλο σχόλιο 26 13

Λέξεις κλειδιά της JAVA κατηγορία Ενσωµατωµένοι τύποι δεδοµένων Χρησιµοποιούµενες σε εκφράσεις Χρησιµοποιούµενες σε προτάσεις επιλογής Χρησιµοποιούµενες σε προτάσεις επανάληψης Χρησιµοποιούµενες σε άλλες προτάσεις Λέξεις-κλειδιά boolean, byte, char, double, float, int, long, short, strictfp, widefp, void new, this, super break, case, default, else, if, switch continue, do, for, while catch, finally, return, synchronized, throw 27 Λέξεις κλειδιά της JAVA κατηγορία Τροποποιητικά δήλωσης Χρησιµοποιούµενες σε κλάσεις & µεθόδους εσµευµένες για µελλοντική χρήση class, extends, implements, import, native, package, throws, transient, volatile const, goto Λέξεις-κλειδιά abstract, final, private, protected, static, 28 14

Τύποι δεδοµένων Πρωταρχικοί τύποι δεδοµένων boolean, char, short, int, long, float, double εδοµένα True/false Ακέραια αριθµητικά δεδοµένα short, int, long, Αριθµητικά δεδοµένα κινητής υποδιαστολής εδοµένα χαρακτήρα Σταθερές 29 ήλωση και απόδοση αρχικών τιµών σε µεταβλητές double f; int counter; Byte b1, b2, b3; ήλωση απόδοση αρχικών τιµών double f =1.23; int counter=0; Byte b1, b2=13, b3 30 15

Είσοδος/Έξοδος System.out.println( keimeno ); System.out.println(x); 31 16