Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη"

Transcript

1 9.1 Γενικά Οι εφαρµογές που δηµιουργούνται από ένα προγραµµατιστή µπορούν ανά πασά στιγµή να καταρρεύσουν από κάποιο λάθος κατά την λειτουργία τους. Αυτές οι καταστάσεις συµβαίνουν από αµέλεια του προγραµµατιστή ή από λάθος χειρισµό του χρήστη, και η Java τις ονοµάζει εξαιρέσεις. Η εξαίρεση είναι ένα γεγονός που συµβαίνει κατά την εκτέλεση ενός προγράµµατος και διακόπτει την ροή των εντολών του. 9.2 Εισαγωγικά Στις πιο πολλές γλώσσες προγραµµατισµού η διαδικασία ανίχνευσης και χειρισµού σφαλµάτων ενός προγράµµατος κάνει τον κώδικα του δυσανάγνωστο και µεγάλο. Έστω ότι θέλουµε να διαβάσουµε ένα αρχείο και να βάλουµε τα περιεχόµενα του στην µνήµη. Ο ψευδοκώδικας αυτού του προγράµµατος στις συνηθισµένες γλώσσες είναι: readfile { open the file; // Άνοιγµα του αρχείου determine its size; // Καθορισµός του µεγέθους του allocate that much memory; // Καταµερισµός της µνήµης read the file into memory; // Ανάγνωση του αρχείου στην µνήµη close the file; // Κλείσιµο αρχείου Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη Ο παραπάνω κώδικας φαίνεται σωστός αλλά αγνοεί τα σφάλµατα που µπορούν να συµβούν. ηλαδή τι θα γίνει αν δεν ανοίγει το αρχείο, αν δεν µπορεί να καθοριστεί το µέγεθος του, αν δεν µπορεί να γίνει καταµερισµός µνήµης, αν δεν µπορεί να γίνει ανάγνωση του και αν δεν µπορεί να κλείσει το αρχείο. Για να χειρίζεται το παραπάνω πρόγραµµα αυτά τα σφάλµατα πρέπει να προστεθεί παραπάνω κώδικας σε αυτό. Εποµένως το πρόγραµµα 9.1 παίρνει τη µορφή του προγράµµατος 9.2. Γίνεται αντιληπτό ότι ο κώδικας του πρωτότυπου προγράµµατος αυξήθηκε αρκετά. Επιπλέον το πρόγραµµα έγινε δυσανάγνωστο διότι οι εντολές σφαλµάτων αναµείχθηκαν µε τις πρωτότυπες εντολές. Η λύση της Java στο πρόγραµµα 9.1, πάλι σε µορφή ψευδοκώδικα, είναι 123

2 αυτή που δίνεται παρακάτω ως πρόγραµµα 9.3.: errorcodetype readfile { initialize errorcode = 0; open the file; if (thefileisopen) { determine the length of the file; if (gotthefilelength) { allocate that much memory; if (gotenoughmemory) { read the file into memory; if (readfailed) { errorcode = -1; else { errorcode = -2; else { errorcode = -3; close the file; if (thefiledidntclose && errorcode == 0) { errorcode = -4; else { errorcode = errorcode and -4; else { errorcode = -5; return errorcode; Πρόγραµµα 9.2 Πέρασµα δεδοµένων στην µνήµη και χειρισµός σφαλµάτων readfile { try { open the file; determine its size; allocate that much memory; read the file into memory; close the file; catch (fileopenfailed) { catch (sizedeterminationfailed) { catch (memoryallocationfailed) { catch (readfailed) { catch (fileclosefailed) { Πρόγραµµα 9.3 Χειρισµός σφαλµάτων µέσω Java 124

3 Το πρόγραµµα 9.3 είναι ευανάγνωστο διότι ο κώδικας του είναι µαζεµένος στην αρχή και στο τέλος υπάρχει ο εντοπισµός και χειρισµός πιθανών σφαλµάτων. Ένα ακόµα πλεονέκτηµα είναι ότι το µέγεθος του προγράµµατος 9.3 είναι µικρότερο σε σχέση µε το µέγεθος του Κλάσεις εξαιρέσεων Για τις εξαιρέσεις η Java έχει δηµιουργήσει ένα σύνολο κλάσεων που κληρονοµούν από την κλάση Throwable. ηλαδή η κλάση Throwable και όλες οι δευτερεύουσες κλάσεις αυτής είναι εξαιρέσεις που µπορούν να προκληθούν. Η κλάση Throwable έχει δύο υποκλάσεις, την Error και την Exception. Τα σφάλµατα της κλάσης Error και των υποκλάσεων της είναι καταστροφικά για το τρέχον πρόγραµµα, γιατί ο προγραµµατιστής δεν µπορεί να τα χειριστεί. Αντίθετα η κλάση Exception και οι υποκλάσεις της όταν προκληθούν µπορούν να διαχειριστούν από τον χρήστη. Η δευτερεύουσες κλάσεις της Exception χωρίζονται σε δύο κατηγορίες. Η πρώτη κατηγορία περιλαµβάνει τις εξαιρέσεις χρόνου εκτέλεσης (δευτερεύουσες κλάσεις της RuntimeException) και η δεύτερη όλες τις υπόλοιπες κλάσεις, µερικές από τις οποίες φαίνονται στο διάγραµµα 5. Οι εξαιρέσεις χρόνου εκτέλεσης συµβαίνουν επειδή ο κώδικας δεν είναι πολύ ακριβής. Π.χ. η κλάση ArrayIndexOutOfBoundsException (δευτερεύουσα της RuntimeException) προκαλείται όταν ένας πίνακας βγαίνει έξω από τα όρια του. Αυτό το λάθος µπορεί εύκολα να διορθωθεί. Ορισµένες άλλες δευτερεύουσες κλάσεις της Exception είναι: η κλάση IOException, η οποία προκαλείται από την διακοπή ή την αποτυχία µιας λειτουργίας εισόδου εξόδου. Μια δευτερεύουσά της κλάση, η EOFException, συµβαίνει όταν ένα αρχείο προς ανάγνωση τελειώνει πριν το προσδοκώµενο τέλος του. Οι κλάσεις εξαιρέσεων έχουν κυρίως δύο δηµιουργούς, έναν χωρίς όρισµα και έναν µε όρισµα ένα String. Το String είναι το καθορισµένο µήνυµα που προβάλεται όταν συµβεί η εξαίρεση. Οι µέθοδοι της κλάσης Throwable κληρονοµούνται στις δευτερεύουσες κλάσεις της. Σηµαντικές µέθοδοί της είναι: getmessage(): Αυτή η µέθοδος επιστρέφει ένα String µε το σφάλµα που προκάλεσε την εξαίρεση. tostring(): Αυτή η µέθοδος επιστρέφει το όνοµα της εξαίρεσης που προκλήθηκε καθώς και το σφάλµα που έγινε. Ιδιαίτερη σηµασία πρέπει να δοθεί σε ορισµένες λέξεις. Προκαλείται µια εξαίρεση σηµαίνει ότι έγινε ένα σφάλµα κατά την εκτέλεση του προγράµµατος. H σύλληψη µιας εξαίρεσης σηµαίνει αναγνώριση της εξαίρεσης και χειρισµός της ώστε να µην καταρρεύσει το πρόγραµµα. 9.4 Σύλληψη εξαιρέσεων Η σύλληψη εξαιρέσεων, όπως αναλύθηκε περιληπτικά πιο πάνω, περιλαµβάνει δύο βήµατα, το πιάσιµο και τον χειρισµό της. Ο χειρισµός της µπορεί να µην περιλαµβάνει κάποια εντολή. Για αυτά τα δύο βήµατα χρησιµοποιούνται οι δεσµευµένες λέξεις try, catch, finally σε συνδυασµό, ή όλες µαζί, όπως θα αναλυθεί στην συνέχεια. Κατά την πρόκληση µιας εξαίρεσης γίνεται ανακοπή του προγράµµατος. Η σύλληψη των εξαιρέσεων βοηθάει ώστε να συνεχισθεί η λειτουργία του 125

4 προγράµµατος, ακόµα και εάν προκληθούν εξαιρέσεις try µπλοκ Το πρώτο βήµα στο χειρισµό µιας εξαίρεσης είναι να περιλαµβάνεται ο κώδικας που µπορεί να προκαλέσει εξαίρεση ανάµεσα στα µπλοκ της λέξη try, δηλαδή: try { // Κώδικας που µπορεί να προκαλέσει κάποια εξαίρεση Το µπλοκ της try ορίζει το πεδίο που κάθε χειριστής εξαιρέσεων µπορεί να συνδεθεί µε αυτό. Η δήλωση try πρέπει να συνοδεύεται τουλάχιστον από ένα µπλοκ catch ή ένα µπλοκ finally Μπλοκ catch To µπλοκ catch µπορεί να δηλωθεί µετά το µπλοκ try µία ή και περισσότερες φορές όπως στην παρακάτω σύνταξη. try{ catch( ){ catch( ){ Πιο αναλυτικά η σύνταξη ενός µπλοκ catch είναι: catch(ένα αντικείµενο µιας κλάσης εξαίρεσης){... Το αντικείµενο της κλάσης εξαίρεσης µπορεί να είναι οποιοδήποτε οµότυπο των υποκλάσεων της κλάσης Throwable. Στο µπλοκ, κάθε catch γίνεται ο χειρισµός της εξαίρεσης που δηλώνεται στις παρενθέσεις της δήλωσης catch. ηλαδή, κάθε κλάση εξαίρεσης έχει µεθόδους που µπορούν να δώσουν πληροφορίες για τους λόγους που προκλήθηκε ένα σφάλµα. Αναλυτικότερα, όταν προκληθεί µια εξαίρεση µέσα στο µπλοκ try, τότε οι υπόλοιπες εντολές του δεν εκτελούνται και ο έλεγχος περνάει στο µπλοκ catch που έχει στις παρενθέσεις του την κατάλληλη κλάση που προκλήθηκε. 126

5 9.4.3 Μπλοκ finally Το finally µπλοκ χρησιµοποιείται µε την παρακάτω σύνταξη. try{ catch(...){... finaly{ Στην παραπάνω σύνταξή µπορούν να υπάρχουν περισσότερα από ένα µπλοκ catch ή και κανένα µπλοκ catch. Ο κώδικας του µπλοκ finally εκτελείται είτε προκληθεί εξαίρεση, είτε δεν προκληθεί. Αν δεν προκληθεί εξαίρεση εκτελείται ο κώδικας του µπλοκ try και στην συνέχεια ο κώδικας του µπλοκ finally. Αν προκληθεί εξαίρεση µετά το µπλοκ catch, εκτελείται ο κώδικας του µπλοκ finally. Όπως αναφέρθηκε παραπάνω, µπορεί να υπάρχει σύνταξη του µπλοκ finally χωρίς κανένα µπλοκ catch. Σε αυτήν την περίπτωση δεν έχουµε σύλληψη των εξαιρέσεων, αλλά το πρόγραµµα πριν τερµατιστεί βιαία εκτελεί τον κώδικα του µπλοκ finally. Συµπερασµατικά αν υπάρχει κάποιος κώδικας που πρέπει να εκτελεστεί οπωσδήποτε, είτε προκληθεί εξαίρεση είτε όχι αυτός τοποθετείται στο µπλοκ finally. Έτσι, αντί να γραφεί ο κώδικας δύο φορές, δηλαδή στο µπλοκ try και στο µπλοκ catch, συντάσσεται κατευθείαν στο µπλοκ finally. ιευκρινιστικό παράδειγµα υπάρχει σε επόµενο κεφάλαιο. 9.5 Η λέξη κλειδί throws Η λέξη κλειδί throws δηλώνει ότι ο κώδικας που υπάρχει στο σώµα µιας µεθόδου µπορεί να προκαλέσει µια ή περισσότερες εξαιρέσεις. Η σύνταξη της είναι: methodos() throws Exception1,ExceptionN{ 127

6 Η λέξη κλειδί throws δεν σηµαίνει ότι θα προκληθεί οπωσδήποτε εξαίρεση αλλά µόνο αν χρειασθεί. Η λέξη throws παρέχει χρήσιµες πληροφορίες για τις εξαιρέσεις που µπορεί να προκαλέσει µια µέθοδος. Επιπρόσθετα, δίνει την δυνατότητα στην Java να επιβεβαιώσει τον σωστό χειρισµό της. Όταν µια µέθοδος έχει στο σώµα της µια µέθοδο που δηλώνει ποιες εξαιρέσεις µπορεί να προκαλέσει, τότε πρέπει να γίνει σύλληψη των εξαιρέσεων αυτών. Μια άλλη περίπτωση είναι να µην επιθυµείται η σύλληψη των εξαιρέσεων της στο σώµα µιας άλλης µεθόδου, αλλά ο χειρισµός τους σε αυτήν. Τα παραπάνω αναλύονται στα παραδείγµατα που ακολουθούν: Παράδειγµα public void methodos() throws IOException{ public void methos(){ try{ methodos(); catch(ioexception e) { public void methodos() throws IOException{ public void methos()throws IOException{ methodos(); Στο πρώτο παράδειγµα η µέθοδος methodos() δηλώνει ότι µπορεί να προκαλέσει την εξαίρεση IOException. Στην συνέχεια, η µέθοδος methos() καλεί την µέθοδο methodos() και συλλαµβάνει την εξαίρεση, αφού περιλαµβάνει µε τα µπλοκ try και catch την µέθοδο methodos(). Στο δεύτερο παράδειγµα η µέθοδος methdodos() µπορεί να προκαλέσει την εξαίρεση IOException. H µέθοδος methos() καλεί την methodos(), αλλά επειδή δεν θέλει να πιάσει και να χειριστεί την εξαίρεση IOException µετά την δήλωση της τοποθετείται η λέξη κλειδί throws µε το όνοµα της εξαίρεσης. Με αυτόν τον τρόπο ο χειρισµός της εξαίρεσης δίνεται στην µέθοδο methodos(). 128

7 9.6 Παράδειγµα εξαιρέσεων Στο παράδειγµα 9.6 ορίζεται ένα αντικείµενο της κλάση FileReader (ανήκει στο πακέτο java.io) η οποία ανοίγει αρχεία για ανάγνωση. Αν το αρχείο προς ανάγνωση δεν βρεθεί τότε η FileReader προκαλεί την εξαίρεση FileNotFoundException. Ο δηµιουργός της FileReader() είναι: public FileReader(String str) throws FileNotFoundException δηλαδή µπορεί να προκαλέσει εξαίρεση. Ανεξάρτητα από το αν προκληθεί εξαίρεση το περιεχόµενο του µπλοκ finally εκτελείται δηλαδή προβάλεται στην Dos-Prompt το µήνυµα TELOS. Η µέθοδος tostring() κληρονοµείται από την κλάση Throwable. import java.io.*; public class AppException { public static void main(string[] args) { try{ FileReader fr=new FileReader("ARXEIO.EXE"); catch(filenotfoundexception e) { System.out.println(e.toString()); finally{ System.out.println("TELOS"); Παράδειγµα 9.6 AppException.java Αν δεν υπάρχει το arxeio.exe προκαλείται εξαίρεση και η έξοδος είναι: Γενικά, υπάρχει η δυνατότητα να χρησιµοποιηθεί σαν όρισµα στην catch()µια υπερκλάση της 129

8 υπάρχουσας κλάσης. ηλαδή, στο παράδειγµα 9.6 είναι σωστή και η σύνταξη catch(ioexception e), διότι η IOException είναι υπερκλάση της FileNotFoundException. Πάντως δεν συνιστάται η χρήση υπερκλάσεων σε υψηλή βαθµίδα, διότι µπορούν να πιάσουν εξαιρέσεις που δεν προβλέφθηκαν, άρα δεν υπάρχει χειρισµός για αυτές. 9.7 ηµιουργία εξαιρέσεων Η δηµιουργία νέων εξαιρέσεων είναι αρκετά εύκολη υπόθεση. Πρέπει η εξαίρεση που δηµιουργείται να κληρονοµήσει κάποια εξαίρεση από την ιεραρχία των εξαιρέσεων της Java. Οι υπερκλάσεις των καινούργιων κλάσεων δεν επιτρέπεται να ανήκουν στην ιεραρχία Error, αλλά µπορούν να ανήκουν σε οποιαδήποτε άλλη κλάση της ιεραρχίας Throwable. Ο δηµιουργός µιας νέας εξαίρεσης διαλέγει ποια από τις υπάρχουσες εξαίρεση ταιριάζει πιο πολύ µε αυτή που θέλει να φτιάξει και κληρονοµεί από αυτήν. Οι εξαιρέσεις συνήθως έχουν δύο δηµιουργούς έναν χωρίς όρισµα και έναν µε όρισµα ένα String. Εποµένως η σύνταξη µια εξαίρεσης που κληρονοµεί από την κλάση IOException θα είναι: Παράδειγµα public class NewIOException extends IOException{ NewIOException(){ NewIOException(String str){ super(str); 130

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Χειρισµός Σφαλµάτων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.12.06 Σφάλµατα, Σφάλµατα, Σφάλµατα 2 εν υπάρχουν προγράµµατα χωρίς λογικά λάθη Υλοποίηση που

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εξαιρέσεις στην Java EXCEPTIONS IN JAVA

Εξαιρέσεις στην Java EXCEPTIONS IN JAVA Εξαιρέσεις στην Java EXCEPTIONS IN JAVA Τι είναι μια εξαίρεση Έστω το κάτωθι τμήμα κώδικα: int age = Integer.parseInt(input); Προφανώς αναμένουμε έναν αριθμό (ακέραιο) από το χρήστη που αντιπροσωπεύει

Διαβάστε περισσότερα

10.1 Γενικά για τα streams

10.1 Γενικά για τα streams 10.1 Γενικά για τα streams Για την αλληλεπίδραση ενός προγράµµατος µε ένα αρχείο, δηλαδή για την αποθήκευση ή την ανάγνωση δεδοµένων από αυτό χρησιµοποιείται ένα σύστηµα επικοινωνίας που καλείται streams.

Διαβάστε περισσότερα

Εξαιρέσεις. try, catch, finally, throw, throws

Εξαιρέσεις. try, catch, finally, throw, throws Εξαιρέσεις try, catch, finally, throw, throws Εξαιρέσεις Πολλές φορές όταν προγραµµατίζουµε σε κάποια γλώσσα προγραµµατισµού συµβαίνουν διάφορα σφάλµατα που οφείλονται είτε σε διάφορες αιτίες όπως σε λάθη

Διαβάστε περισσότερα

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

ΕΞΑΙΡΕΣΕΙΣ. Εξαιρέσεις προκαλούνται. από το σύστηµα. από το πρόγραµµα ΕΞΑΙΡΕΣΕΙΣ Εξαίρεση (Exception): Ένα συµβάν κατά τον χρόνο εκτέλεσης (π.χ. αδυναµία ανοίγµατος αρχείου ή ανάγνωσης πληροφορίας, µη ύπαρξη αντικειµένου στη στοίβα) που απαιτεί ειδικό χειρισµό. Ονοµάζεται

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ EXCEPTIONS & EXCEPTION HANDLING Εξαιρέσεις (Exceptions) Γνωμικό της Μηχανικής Λογισμικού: το 80% της δουλειάς των μηχανικών

Διαβάστε περισσότερα

Χειρισμός Εξαιρέσεων EXCEPTIONS IN JAVA

Χειρισμός Εξαιρέσεων EXCEPTIONS IN JAVA Χειρισμός Εξαιρέσεων EXCEPTIONS IN JAVA Τι είναι μια εξαίρεση Έστω το κάτωθι τμήμα κώδικα: int age = Integer.parseInt(input); Προφανώς αναμένουμε έναν αριθμό (ακέραιο) από το χρήστη που αντιπροσωπεύει

Διαβάστε περισσότερα

6. Εξαιρέσεις στη γλώσσα Java

6. Εξαιρέσεις στη γλώσσα Java 6. Εξαιρέσεις στη γλώσσα Java Με το τέλος αυτού του κεφαλαίου θα μπορείτε: Να ορίζετε εξαιρέσεις Να εξηγείτε γιατί είναι σημαντικός ο χειρισμός των εξαιρέσεων Να γράφετε κώδικα για να συλλαμβάνετε εξαιρέσεις

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ (Java) 4. Διαχείριση εξαιρέσεων

Προγραμματισμός ΙΙ (Java) 4. Διαχείριση εξαιρέσεων Προγραμματισμός ΙΙ (Java) 4. Διαχείριση εξαιρέσεων Διαχείριση λαθών Εξαιρέσεις Δημιουργία Ανίχνευση Διαχείριση Βασικοί τύποι εξαιρέσεων Δημιουργία τύπων εξαίρεσης 2 Αντιμετώπιση λαθών Υπάρχουν λάθη χρόνου

Διαβάστε περισσότερα

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

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ

ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ Στην java οι πληροφορίες αποθηκεύονται και ανακαλούνται/ανασύρονται µε τη χρήση ενός συστήµατος επικοινωνίας που χρησιµοποιεί την έννοια του stream (κανάλι επικοινωνίας). Σαν stream

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 10: Exceptions handling (Χειρισμός εξαιρέσεων)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 10: Exceptions handling (Χειρισμός εξαιρέσεων) ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 10: Exceptions handling (Χειρισμός εξαιρέσεων) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 10 Exceptions handling (Χειρισμός εξαιρέσεων)

Διαβάστε περισσότερα

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 6η: 06/04/2006 1 ιαχείριση

Διαβάστε περισσότερα

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

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 3: Τύποι Δεδομένων - Τελεστές Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εξαιρέσεις Εξαιρέσεις Στα προγράμματα μας θα πρέπει να μπορούμε να χειριστούμε περιπτώσεις που το πρόγραμμα δεν εξελίσσεται όπως το είχαμε προβλέψει Π.χ., κάνουμε

Διαβάστε περισσότερα

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

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 6η: 06/04/2006 1 ιαχείριση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εξαιρέσεις (Exceptions) Λάθη (Errors) Χειρισμός των Εξαιρέσεων (Exception Handling) Assertions

Εξαιρέσεις (Exceptions) Λάθη (Errors) Χειρισμός των Εξαιρέσεων (Exception Handling) Assertions (Object Oriented Programming) Εξαιρέσεις (Exceptions) Λάθη (Errors) Χειρισμός των Εξαιρέσεων (Exception Handling) Assertions PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος

Διαβάστε περισσότερα

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας Εισαγωγή Εξαιρέσεις ηµήτρης Λεβεντέας 20 Μαΐου 2010 Εισαγωγή Ορισµός Τι είναι Ορισµός Ο χειρισµός εξαιρέσεων είναι µια κατασκευή η οποία µας επιτρέπει να χειριστούµε ειδικές συνθήκες που αλλάζουν την ϕυσιολογική

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Αρχεία δεδομένων Το πακέτο java.io περιλαμβάνει περισσότερες από 60 κλάσεις και διασυνδέσεις για το χειρισμό αρχείων δεδομένων. Αρκετές από τις κλάσεις του

Διαβάστε περισσότερα

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 7: Εξαιρέσεις (Exceptions), Εντοπισμός Σφαλμάτων (Debugging) Δρ. Χαράλαμπος Ζ. Πατρικάκης

Διαβάστε περισσότερα

ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ

ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ Στην java οι πληροφορίες αποθηκεύονται και ανακαλούνται/ανασύρονται µε τη χρήση ενός συστήµατος επικοινωνίας που χρησιµοποιεί την έννοια του stream (κανάλι επικοινωνίας). Σαν stream

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 12 Ροές και είσοδος/έξοδος αρχείων Τα δεδομένα εισόδου

Διαβάστε περισσότερα

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

Στοιχεία εξεταζόµενου Αριθµός Απάντησης Βαθµολογία. Σύνολο (Θέµα 4 ο ) Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Εισαγωγή στον Προγραµµατισµό των Υπολογιστών Καθηγητής Ι. Κάβουρας Εξεταστική περίοδος Φεβρουαρίου 2004 Τετάρτη 10/3/2004, ώρα 8.00 Στοιχεία εξεταζόµενου

Διαβάστε περισσότερα

ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java

ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java Java Media Framework Ηβιβλιοθήκη JMF Εγκαθίσταται επιπρόσθετα στη Java Αναπαραγωγή πολυµέσων Αποστολή και λήψη πολυµέσων σε πραγµατικό χρόνο Γραφικά αντικείµενα

Διαβάστε περισσότερα

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης 14. Δικτύωση με Java Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δημιουργείτε έναν ελάχιστο εξυπηρέτη TCP/IP σε Java Να δημιουργείτε έναν ελάχιστο εξυπηρετούμενο TCP/IP σε Java Να κατανοείτε πώς υλοποιούνται

Διαβάστε περισσότερα

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

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου

Διαβάστε περισσότερα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

Διαβάστε περισσότερα

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

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

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1 HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος

Διαβάστε περισσότερα

java.lang Class Throwable

java.lang Class Throwable EΞΑΙΡΕΣΕΙΣ Η java παρέχει ένα µηχανισµό, τις Εξαιρέσεις (exceptions), για να βρει και να χειριστεί τα λάθη που προκύπτουν κατά τις εργασίες Ι/Ο. Τα σφάλµατα και οι εξαιρέσεις είναι αντικείµενα της κλάσης

Διαβάστε περισσότερα

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

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι 1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της

Διαβάστε περισσότερα

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,

Διαβάστε περισσότερα

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

Διαβάστε περισσότερα

Εξαιρέσεις (στη Java)

Εξαιρέσεις (στη Java) Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Κωστής Σαγώνας Εξαιρέσεις στη Java public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]);

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος 2010/2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου A. Πρωταρχικοί τύποι B. Είσοδος/ Έξοδος C. Πράξεις 2 Δήλωση / Αρχικοποίηση / Εκχώρηση A. Πρωταρχικοί

Διαβάστε περισσότερα

Εξαιρέσεις στη Java. Περιεχόμενα. Κάποιες προκαθορισμένες ρ εξαιρέσεις. Κωστής Σαγώνας

Εξαιρέσεις στη Java. Περιεχόμενα. Κάποιες προκαθορισμένες ρ εξαιρέσεις. Κωστής Σαγώνας Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Κωστής Σαγώνας Εξαιρέσεις στη Java public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]);

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής

Διαβάστε περισσότερα

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

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1 Κληρονομικότητα Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Κληρονομικότητα 1 Ιεραρχίες Κλάσεων Στην Java (και γενικότερα στον αντικειμενοστραφή προγραμματισμό) μπορεί από μία να κλάση να δημιουργηθεί

Διαβάστε περισσότερα

ιαδικτυακές Εφαρµογές

ιαδικτυακές Εφαρµογές ιαδικτυακές Εφαρµογές µε Java2 Στοιχεία ικτυακής Επικοινωνίας Όροι IP address 32bit αριθµός που χρησιµοποιείται από το Internet Protocol για την παράδοση δεδοµένων στο σωστό υπολογιστή στο δίκτυο. Port

Διαβάστε περισσότερα

Παύλος Εφραιµίδης. Java. Κληρονοµικότητα

Παύλος Εφραιµίδης. Java. Κληρονοµικότητα κληρονοµικότητα Παύλος Εφραιµίδης 1 ιεραρχίες κλάσεων Στην (και γενικότερα στον αντικειµενοστρεφή προγραµµατισµό) µπορεί από µία κλάση να δηµιουργηθεί µια νέα κλάση απόγονος που κληρονοµεί όλα τα χαρακτηριστικά

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

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

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1 Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2

Διαβάστε περισσότερα

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

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2

Διαβάστε περισσότερα

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Oι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω:

Oι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω: 3 ΣTOIBEΣ KAI OYPEΣ 3.1 ΣΤΟΙΒΕΣ Στοίβα (stack) είναι µία λίστα στην οποία νέα στοιχεία µπορούν να προστεθούν και να αφαιρεθούν µόνο από τη µία άκρη της (κορυφή της στοίβας). Συχνά µία στοίβα αναφέρεται

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εξαιρέσεις Εξαιρέσεις Στα προγράμματα μας θα πρέπει να μπορούμε να χειριστούμε περιπτώσεις που το πρόγραμμα δεν εξελίσσεται όπως το είχαμε προβλέψει Π.χ., κάνουμε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Συντακτικά λάθη, λάθη εκτέλεσης, Λογικά λάθη

Συντακτικά λάθη, λάθη εκτέλεσης, Λογικά λάθη Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #7 η : Εξαιρέσεις (λάθη εκτέλεσης, χειρισμός εξαιρέσεων λαθών,) Είσοδος / Έξοδος (ρεύματα, κλάσεις εισόδου και εξόδου, διαχείριση αρχείων) Γαβαλάς

Διαβάστε περισσότερα

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

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Κλάσεις Τροποποιητές, ιασυνδέσεις, Πακέτα Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος

Διαβάστε περισσότερα

Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD

Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD (Object Oriented Programming) Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Πακέτα (Packages) Φωλιασμένες

Διαβάστε περισσότερα

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

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Είσοδος Έξοδος (Input Output) Εξαιρέσεις (Exceptions)

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Είσοδος Έξοδος (Input Output) Εξαιρέσεις (Exceptions) ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Είσοδος Έξοδος (Input Output) Εξαιρέσεις (Exceptions) Οι εφαρμογές της Java είναι

Διαβάστε περισσότερα

Generics και ArrayLists

Generics και ArrayLists ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Generics και ArrayLists Προσοχή!!! Να εκτελεστούν πρώτα όλες οι ασκήσεις τις Θεωρίας

Διαβάστε περισσότερα

ΣΕΜΙΝΑΡΙΟ JAVA. 5 η ιάλεξη

ΣΕΜΙΝΑΡΙΟ JAVA. 5 η ιάλεξη ΣΕΜΙΝΑΡΙΟ JAVA 5 η ιάλεξη ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓ/ΣΜΟΣ & ΣΦΑΛΜΑΤΑ Εnumerators Κληρονοµικότητα Exceptions try / catch / finally Interfaces ENUMERATORS ( ENUM ) Τα enum είναι ένα εργαλείο για να οριστεί

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

S, (5, -3, 34, -23, 7) ( /, @, *, _

S, (5, -3, 34, -23, 7) ( /, @, *, _ 1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ

Διαβάστε περισσότερα

Μάθημα 2 [10/11/2015]

Μάθημα 2 [10/11/2015] Μάθημα 2 [10/11/2015] Ο κώδικας που ακολουθεί επιδεικνύει τη χρήση των συναρτήσεων εισόδου εξόδου για ανάγνωση / εγγραφή από / σε αρχείο κειμένου. Χρησιμοποιεί τις κλάσεις Point και Shape. import java.io.*;

Διαβάστε περισσότερα

Εξαιρέσεις (στη Java)

Εξαιρέσεις (στη Java) Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Κωστής Σαγώνας Εξαιρέσεις στη Java public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]);

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 3: JAVA: ΕΞΑΙΡΕΣΕΙΣ, ΕΙΣΟΔΟΣ-ΕΞΟΔΟΣ, ΝΗΜΑΤΑ Είσοδος - Έξοδος ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

Εξαιρέσεις (στη Java)

Εξαιρέσεις (στη Java) Εξαιρέσεις στη Java Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Κωστής Σαγώνας public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]);

Διαβάστε περισσότερα

Εξαιρέσεις (στη Java)

Εξαιρέσεις (στη Java) Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Κωστής Σαγώνας Νίκος Παπασπύρου Εξαιρέσεις στη Java public class Test { public static void main(string[]

Διαβάστε περισσότερα

Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889

Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Κωστής Σαγώνας Εξαιρέσεις στη Java public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]);

Διαβάστε περισσότερα

Προγραµµατισµός ΙΙ Java 2

Προγραµµατισµός ΙΙ Java 2 Προγραµµατισµός ΙΙ Java 2 ιαχείριση Αρχείων Αρχεία Γιατί χρειαζόµαστε να γνωρίζουµε πως διαχειριζόµαστε αρχεία? Για να αποθηκεύουµε και να διαβάζουµε δεδοµένα από το δίσκο (τους λογικούς δίσκους πιο σωστά)

Διαβάστε περισσότερα

Διασυνδέσεις / Διεπαφές. Παναγιώτης Σφέτσος, PhD

Διασυνδέσεις / Διεπαφές. Παναγιώτης Σφέτσος, PhD (Object Oriented Programming) Διασυνδέσεις / Διεπαφές PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Διεπαφές/Διασυνδέσεις (Interfaces) 2 Διεπαφές/Διασυνδέσεις (Interfaces)

Διαβάστε περισσότερα

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων Εργαστήριο Java Αντικείμενο: Αρχεία Πακέτο java.io Πακέτο java.io.zip Στην Java δεν υπάρχει η έννοια των εγγραφών μέσα σε ένα αρχείο. Ο προγραμματιστής πρέπει να κατασκευάσει το αρχείο κατάλληλα έτσι ώστε

Διαβάστε περισσότερα

Αρχικοποίηση Αντικειµένων & Κλάσεων στη Java Object Instantiation & Class Initialisation Κώστας Σαΐδης saiko@di.uoa.gr http://daemon.di.uoa.gr/daemon/issue4 Μάρτιος 2004 Η Αρχή είναι το ήµισυ του Παντός

Διαβάστε περισσότερα

Προγράμματα με δομή Κληρονομικότητας

Προγράμματα με δομή Κληρονομικότητας Προγράμματα με δομή Κληρονομικότητας Η μέθοδος print της εφαρμογής DoME Η μέθοδος print στην κλάση Item τυπώνει: title: A Swingin Affair (64 mins) my favorite Sinatra album title: O Brother, Where Art

Διαβάστε περισσότερα

Εξαιρέσεις (στη Java)

Εξαιρέσεις (στη Java) Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889 Κωστής Σαγώνας Νίκος Παπασπύρου Εξαιρέσεις στη Java public class Test { public static void main(string[]

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Λογικά λάθη public class ShowLogicErrors

Διαβάστε περισσότερα

ηµιουργία ιαλογικών Προγραµµάτων για το Web

ηµιουργία ιαλογικών Προγραµµάτων για το Web ηµιουργία ιαλογικών Προγραµµάτων για το Web Βοηθητικές Εφαρµογές (). Οι βασικές µέθοδοι των Βοηθητικών Εφαρµογών. Η µέθοδος init(). Οι µέθοδοι start() και stop(). Η µέθοδος paint(). Η µέθοδος destroy().

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το

Διαβάστε περισσότερα

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

Εργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. Εργαλεία του JDK Β.1 Εργαλεία του JDK Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. O µεταγλωττιστής (compiler) της Java javac. O διερµηνευτής (interpreter) της Java java. Το υπεύθυνο εργαλείο για

Διαβάστε περισσότερα

Κωστής Σαγώνας Πιάσιμο εξαιρέσεων (catching exceptions) Ρίψη εξαιρέσεων (throwing exceptions) Η πρόταση finally

Κωστής Σαγώνας Πιάσιμο εξαιρέσεων (catching exceptions) Ρίψη εξαιρέσεων (throwing exceptions) Η πρόταση finally Εξαιρέσεις στη Java Εξαιρέσεις (στη Java) public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); System.out.println(i/j); > javac

Διαβάστε περισσότερα

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

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:

Διαβάστε περισσότερα

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Θέμα 1 Θέμα 2 Θέμα 3 Θέμα 4 Θέμα

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 30/5/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Χειρισμός Εξαιρέσεων Εξαίρεση (Exception) ένδειξη

Διαβάστε περισσότερα

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

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 6: Threads Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

Διαβάστε περισσότερα

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

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

Διαβάστε περισσότερα

Κληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις.

Κληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις. Μέσω της κληρονομικότητας μπορούμε να δημιουργήσουμε µια νέα τάξη (θυγατρική)

Διαβάστε περισσότερα

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Μ έ θ ο δ ο ι Οι μέθοδοι είναι εκείνα τα τμήματα του κώδικα όπου εκτελούνται οι ουσιαστικές

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 7: C++ TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ Χειρισμός Εξαιρέσεων ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

Διαβάστε περισσότερα

Ανάπτυξη Plugins για το AgentSheets

Ανάπτυξη Plugins για το AgentSheets Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,

Διαβάστε περισσότερα

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα