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

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

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

Transcript

1 1. Ξεκινώντας Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να περιγράψετε τα κύρια χαρακτηριστικά της γλώσσας Java Να περιγράψετε τη Java Virtual Machine Να περιγράψετε πώς λειτουργεί ο μηχανισμός «συλλογής απορριμμάτων» (garbage collector) της Java Να περιγράψετε πώς λειτουργούν τα χαρακτηριστικά ασφαλείας της Java Να γράψετε, μεταγλωττίσετε και εκτελέσετε μία απλή εφαρμογή Java Να χρησιμοποιείται την on-line τεκμηρίωση της Java 1.1 Τι είναι η Java Η Java είναι: μία γλώσσα προγραμματισμού ένα περιβάλλον ανάπτυξης ένα περιβάλλον εφαρμογών Η Java είναι το αποτέλεσμα της αναζήτησης μίας προγραμματιστικής γλώσσας που θα παρέχει την ισχύ της C++, αλλά και την ασφάλεια μίας γλώσσας «ασφαλών τύπων» όπως η Smalltalk. Οι κύριοι στόχοι κατά την ανάπτυξη της νέας αυτής γλώσσας ήταν: Να δημιουργηθεί μία αντικειμενοστρεφής γλώσσα Να παρέχετε ένα περιβάλλον διερμηνείας για δύο λόγους o ταχύτητα ανάπτυξης απαλείφεται ο κύκλος μεταγλώττισης-σύνδεσηςφόρτωσης-ελέγχου o μεταφερσιμότητας κώδικα ένα περιβάλλον διερμηνείας κάνει τις εξειδικευμένες κλήσεις στο λειτουργικό σύστημα εκ μέρους του περιβάλλοντος εκτέλεσης. Να απαλειφθούν οι πρακτικές κωδικοποίησης που επηρεάζουν τον εύρωστο κώδικα o Αριθμητική με δείκτες o Δέσμευση και αποδέσμευση μνήμης Να παρέχει έναν τρόπο ώστε τα προγράμματα να εκτελούν περισσότερα από ένα νήματα δραστηριοτήτων (thread of activity). Να παρέχει έναν τρόπο ώστε τα προγράμματα να μεταβάλλονται δυναμικά κατά την εκτέλεσή τους επιτρέποντάς τους να φορτώνουν τμήματα κώδικα. Να παρέχει ένα τρόπο ελέγχου των τμημάτων του κώδικα που πρόκειται να φορτωθούν ώστε να αποτρέπονται ζητήματα ασφάλειας 1

2 Η αρχιτεκτονική της Java αναπτύχθηκε ώστε να επιτυγχάνονται οι πιο πάνω στόχοι. Οι στόχοι αυτοί επιτυγχάνονται μέσα από τα ακόλουθα χαρακτηριστικά της γλώσσας: Java Virtual Machine Ιδεατή μηχανή Java Συλλογή απορριμμάτων Garbage collection Ασφάλεια κώδικα Ιδεατή Μηχανή Java Η προδιαγραφή της Ιδεατής Μηχανής Java (Java Virtual Machine Specification) ορίζει την Ιδεατή Μηχανή Java (Java Virtual Machine JVM) ως εξής: Υλοποιείται μία φανταστική μηχανή εξομοιώνοντας την με χρήση λογισμικού σε μία πραγματική μηχανή. Ο κώδικας για την Ιδεατή Μηχανή Java αποθηκεύεται σε αρχεία.class κάθε ένα από τα οποία περιέχει κώδικα για το πολύ μία δημόσια κλάση. Η προδιαγραφή της Ιδεατής Μηχανής Java παρέχει τις προδιαγραφές για την πλατφόρμα υλικού για την οποία μεταγλωττίζεται οποιοσδήποτε κώδικας Java. Η προδιαγραφή αυτή διευκολύνει τα προγράμματα Java να είναι ανεξάρτητα από πλατφόρμα γιατί η μεταγλώττιση γίνεται για μία φανταστική μηχανή. Εξαρτάται από το διερμηνέα της Java για κάθε συγκεκριμένη πλατφόρμα λογισμικού να επιβεβαιώσει ότι μπορεί να εκτελέσει τον κώδικα που έχει μεταγλωττιστεί για τη JVM. Η προδιαγραφή της JVM παρέχει συμπαγείς ορισμούς για την υλοποίηση των πιο κάτω: Σύνολο εντολών (ισοδύναμο με το σύνολο εντολών μίας CPU) Σύνολο καταχωρητών Μορφή του αρχείου class Στοίβα Σωρός από τον οποίο γίνεται η συλλογή απορριμμάτων Περιοχή μνήμης Η μορφή του κώδικα που υποστηρίζεται από τη JVM αποτελείται από συμπαγείς και αποτελεσματικούς κώδικες σε byte (bytecode). Τα προγράμματα που αναπαριστώνται από JVM κώδικα byte πρέπει να διατηρούν αυστηρή πειθαρχία στους τύπους και τις προδιαγραφές της JVM. Η πλειονότητα των ελέγχων τύπων της Java γίνεται κατά τη φάση της μεταγλώττισης από τον επιβεβαιωτή του κώδικα byte. Οποιοσδήποτε διερμηνέας Java που συμμορφώνεται με το πρότυπο της προδιαγραφής της JVM πρέπει να μπορεί να εκτελεί οποιοδήποτε πρόγραμμα με αρχεία class που συμμορφώνονται στη μορφή των αρχείων class που καθορίζεται στο κείμενο The Java Virtual Machine Specification Συλλογή απορριμμάτων Πολλές γλώσσες προγραμματισμού επιτρέπουν τη δυναμική δέσμευση μνήμης κατά την εκτέλεση. Η διαδικασία της δέσμευσης μνήμης ποικίλει ανάλογα με το συντακτικό της γλώσσας, αλλά πάντα έχει ως αποτέλεσμα ένα δείκτη σε μία αρχική διεύθυνση ενός μπλοκ μνήμης. 2

3 Από τη στιγμή που η δεσμευμένη μνήμη δε χρειάζεται πλέον (ο δείκτης που αναφέρεται στη μνήμη βρίσκεται εκτός πεδίου εμβέλειας) είναι σώφρον για το πρόγραμμα ή το περιβάλλον εκτέλεσης να αποδεσμεύει τη μνήμη ώστε να αποτραπεί η κατάσταση κατά την οποία το πρόγραμμα (ή το σύστημα) δεν έχει άλλη διαθέσιμη μνήμη. Στη C και τη C++ (αλλά και σε άλλες γλώσσες) αυτός που αναπτύσσει το πρόγραμμα έχει και την ευθύνη για την αποδέσμευση της μνήμης. Αυτό μπορεί σε ορισμένες περιπτώσεις να φανεί αρκετά δύσκολο, καθώς δεν είναι πάντα γνωστό εκ των προτέρων πότε θα πρέπει να αποδεσμευτεί η μνήμη. Τα προγράμματα που δεν αποδεσμεύουν μνήμη μπορούν τελικά να καταρρεύσουν όταν δεν υπάρχει άλλη διαθέσιμη μνήμη προς δέσμευση στο σύστημα. Τα προγράμματα αυτά λέμε ότι έχουν «διαρροή μνήμης» (memory leak). Η Java απαλλάσσει τον προγραμματιστή από την ευθύνη της αποδέσμευσης της μνήμης, παρέχοντας ένα νήμα (thread) επιπέδου συστήματος το οποίο εκτελείται στο παρασκήνιο που καταγράφει κάθε δέσμευση μνήμης και διατηρεί ένα μετρητή του πλήθους των αναφορών σε κάθε δείκτη στη μνήμη. Κατά τη διάρκεια των κύκλων χωρίς εκτέλεση άλλης εντολής στο σύστημα εκτέλεσης της JVM, το νήμα συλλογής απορριμμάτων (garbage collection thread) θα ελέγχει για να δει αν υπάρχουν δείκτες στη μνήμη των οποίων το πλήθος των αναφορών έχει μηδενιστεί. Αν υπάρχουν, το τμήμα αυτό της μνήμης που έχει σημειωθεί από το νήμα συλλογής απορριμμάτων «σκουπίζεται» (αποδεσμεύεται). Η συλλογή απορριμμάτων γίνεται αυτόματα κατά τη διάρκεια ζωής ενός προγράμματος Java και απαλείφει την ανάγκη για αποδέσμευση μνήμης και τις διαρροές μνήμης Ασφάλεια κώδικα Το σχήμα που ακολουθεί παρουσιάζει το περιβάλλον ενός Java προγράμματος και θα το χρησιμοποιήσουμε για να περιγράψουμε πώς η Java επιβάλλει την ασφάλεια του κώδικα. Μεταγλώττιση Περιβάλλον εκτέλεσης Φόρτωση κλάσης javac Hello.java δίκτυο επιβεβαίωση κώδικα Byte Hello.class Διερμηνέας Εκτέλεση Γεννήτρια κώδικα JIT Υλικό 3

4 Τα αρχεία Java «μεταγλωττίζονται» με την έννοια ότι μετατρέπονται από τη μορφή κειμένου στην οποία τα γράφουν οι προγραμματιστές σε ένα σύνολο από κώδικα byte, ανεξάρτητο από τη φυσική αρχιτεκτονική (το υλικό hardware) του υπολογιστή. Κατά την εκτέλεση ο κώδικας byte που αποτελεί το πρόγραμμα Java φορτώνεται, ελέγχεται και στη συνέχεια εκτελείται σε ένα διερμηνέα. Ο διερμηνέας έχει δύο εργασίες: εκτελεί τον κώδικα byte της Java και κάνει τις απαραίτητες κλήσεις μέσω του συστήματος εκτέλεσης στο υποκείμενο υλικό. Σε ορισμένα περιβάλλοντα εκτέλεσης της Java μέρος του επιβεβαιωμένου κώδικα byte μεταγλωττίζεται σε ιθαγενή (native) κώδικα μηχανής και εκτελείται άμεσα από την πλατφόρμα υλικού. Ο διερμηνέας Java Ο διερμηνέας Java πρέπει να εκτελεί τον κώδικα που μεταγλωττίζεται για τη JVM. Ένας διερμηνέας Java έχει τρεις βασικές εργασίες: Φόρτωση του κώδικα πραγματοποιείται από το φορτωτή κώδικα (class loader). Επιβεβαίωση κώδικα πραγματοποιείται από τον επιβεβαιωτή κώδικα byte (byte code verifier). Εκτέλεση κώδικα πραγματοποιείται από τον διερμηνέα χρόνου εκτέλεσης (runtime interpreter). Φορτωτής κώδικα Ο φορτωτής κώδικα φορτώνει όλες τις κλάσεις που απαιτούνται για την εκτέλεση του προγράμματος. Ο φορτωτής κώδικα προσθέτει ασφάλεια διαχωρίζοντας τις περιοχές ονομάτων για τις κλάσεις που προέρχονται από το τοπικό σύστημα αρχείων από εκείνες που είναι για τις κλάσεις που προέρχονται από το δίκτυο. Αυτό περιορίζει πιθανές εφαρμογές «Δούρειους Ίππους», γιατί ελέγχονται πάντα πρώτα οι ενσωματωμένες (τοπικές) κλάσεις. Όταν έχουν φορτωθεί όλες οι κλάσεις καθορίζεται η μορφή που πρέπει να έχει η μνήμη για το εκτελέσιμο αρχείο. Στο σημείο αυτό, αναθέτονται σε συγκεκριμένες διευθύνσεις μνήμης συμβολικές αναφορές και δημιουργείται ο πίνακας ευρετηρίου (lookup table) των μεθόδων των κλάσεων. Επειδή η διαμόρφωση της μνήμης λαμβάνει χώρα κατά το χρόνο εκτέλεσης, ο διερμηνέας Java προσθέτει προστασία ενάντια σε μη νόμιμη διευθυνσιοδότηση του κώδικα που θα μπορούσε να κάνει το πρόγραμμα να απευθύνεται σε χώρους μνήμης που κατέχει το λειτουργικό σύστημα και να δημιουργηθούν προβλήματα. Επιβεβαιωτής κώδικα byte Ο κώδικας Java περνάει από διάφορους ελέγχους προτού να εκτελεστεί πραγματικά στον υπολογιστή σας. Το πρόγραμμα εκτελεί τον κώδικα μέσω ενός επιβεβαιωτή κώδικα byte που ελέγχει τη διαμόρφωση των τμημάτων του κώδικα και εφαρμόζει ένα πρόγραμμα απόδειξης θεωρημάτων για να ελέγξει με βάση κανόνες τα τμήματα του κώδικα για μη επιτρεπτό κώδικα κώδικα που παραβιάζει τους δείκτες, παραβιάζει τα δικαιώματα προσπέλασης στα αντικείμενα ή προσπαθεί να αλλάξει τον τύπο των αντικειμένων ή των κλάσεων. 4

5 Σημείωση: Όλα τα αρχεία κλάσεων που εισάγονται μέσω δικτύου περνάνε από τον επιβεβαιωτή κώδικα byte. Διαδικασία επιβεβαίωσης Ο επιβεβαιωτής κώδικα byte κάνει τέσσερα περάσματα στον κώδικα ενός προγράμματος. Επιβεβαιώνει ότι ο κώδικας υπακούει στις προδιαγραφές της JVM και δεν παραβιάζει την ακεραιότητα του συστήματος. Αν ο επιβεβαιωτής ολοκληρώσει και τα τέσσερα περάσματα χωρίς να επιστρέψει μήνυμα λάθους τότε μπορείτε να είστε σίγουροι για τα ακόλουθα: Οι κλάσεις υπακούουν στη διαμόρφωση των αρχείων κλάσεων που έχουν τεθεί από τις προδιαγραφές της JVM. Δεν υπάρχουν παραβιάσεις στους περιορισμούς πρόσβασης. Ο κώδικας δεν θα δημιουργήσει υπερχειλίσεις (overflow) ή υποχειλίσεις (underflow) της στοίβας. Οι τύποι των παραμέτρων όλου του κώδικα που κάνει πράξεις είναι γνωστό ότι είναι πάντα ορθοί. Δεν λαμβάνουν χώρα μη νόμιμες μετατροπές δεδομένων, όπως η μετατροπή ακεραίων σε δείκτες. Οι προσβάσεις στα πεδία των αντικειμένων είναι νόμιμες. 1.2 Μία βασική εφαρμογή Java Όπως και οποιαδήποτε άλλη γλώσσα προγραμματισμού, η Java χρησιμοποιείται για να δημιουργούμε εφαρμογές. Ο ελάχιστος κώδικας για μια εφαρμογή είναι συνήθως αυτός που παρουσιάζει το μήνυμα «Hello World!» στην οθόνη. Ο πιο κάτω κώδικας Java παρουσιάζει ένα παράδειγμα της ελάχιστης εφαρμογής Java Hello World 1 // 2 // sample HelloWorld application 3 // 4 public class HelloWorldApp { 5 public static void main (String args[]) { 6 System.out.println( Hello world! ); 7 } 8 } Οι γραμμές περιέχουν τις ελάχιστες συνιστώσες που είναι απαραίτητες για να εκτυπωθεί το Hello World! στην οθόνη σας Περιγραφή του HelloWorldApp Οι τρεις πρώτες γραμμές στο πρόγραμμα είναι γραμμές σχολίων: 1 // 2 // sample HelloWorld application 5

6 3 // Η επόμενη γραμμή ορίζει το όνομα της κλάσης ως HelloWorldApp. Το όνομα της κλάσης που καθορίζεται στο αρχείο με τον πηγαίο κώδικα δημιουργεί ένα αρχείο classname.class στον κατάλογο στον οποίο μεταγλωττίζετε την εφαρμογή σας. Στην περίπτωση αυτή, ο μεταγλωττιστής θα δημιουργήσει ένα αρχείο με το όνομα HelloWorldApp.class. 4 public class HelloWorldApp { Η επόμενη γραμμή στο πρόγραμμα είναι το σημείο από το οποίο ξεκινά η εκτέλεση του προγράμματος. Ο διερμηνέας της Java πρέπει να τη βρει ακριβώς όπως είναι ορισμένη, διαφορετικά θα αρνηθεί να εκτελέσει το πρόγραμμα. Και άλλες γλώσσες προγραμματισμού, όπως η C και η C++, χρησιμοποιούν τον ορισμό main() για το σημείο αρχής της εκτέλεσης. Αν είστε εξοικειωμένοι με C ή C++ μπορεί να ενδιαφέρεστε να μάθετε τι σημαίνει το κάθε μέρος αυτής της δήλωσης μεθόδου. Αν όχι, μην ανησυχείτε, θα τα δούμε στη συνέχεια. Αν το πρόγραμμα έχει ορίσματα στη γραμμή εντολής του, αυτά μεταφέρονται στη μέθοδο main() σε ένα πίνακα συμβολοσειρών που ονομάζεται args. Στο παράδειγμα αυτό δεν αναμένουμε ορίσματα. 5 public static void main (String args[]) { public Η μέθοδος main() μπορεί να προσπελαστεί από οποιονδήποτε, συμπεριλαμβανομένου του διερμηνέα της Java εφόσον είναι δηλωμένη και ως static. static Αυτή η δεσμευμένη λέξη δηλώνει στο μεταγλωττιστή ότι η main() χρησιμοποιείται στο πλαίσιο της κλάσης HelloWorldApp και δεν απαιτεί να έχει δημιουργηθεί ένα στιγμιότυπο της κλάσης αυτής για να κληθεί. void Δηλώνει ότι η main() δεν επιστρέφει κάτι. Αυτό είναι σημαντικό, καθώς η Java πραγματοποιεί προσεκτικό έλεγχο τύπων, που περιλαμβάνει και έλεγχο σχετικά με το αν οι μέθοδοι που καλούνται επιστρέφουν στην πράξη τους τύπους με τους οποίους είχαν δηλωθεί. String args[] Ο ορισμός ενός πίνακα από String. Αυτά είναι τα ορίσματα που θα μπορούσαν να έχουν δοθεί στη γραμμή εντολή μετά από το όνομα της κλάσης java HelloWorldApp arg1 arg2 6 System.out.println( Hello world! ); Η πιο πάνω γραμμή παρουσιάζει τη χρήση ενός ονόματος κλάσης, ενός ονόματος αντικειμένου και μίας κλήσης μεθόδου. Τυπώνει τη συμβολοσειρά Hello World! στην προκαθορισμένη έξοδο (standard output). Η μέθοδος println() λαμβάνει ως όρισμα μία συμβολοσειρά και τη γράφει στο ρεύμα της προκαθορισμένης εξόδου. Τέλος οι δύο τελευταίες γραμμές, οι δύο άγκιστρα, κλείνουν τη μέθοδο main() και την κλάση HelloWorldApp 7 } 8 } 6

7 1.3 Μεταγλώττιση και εκτέλεση του HelloWorldApp Μεταγλώττιση Αφού δημιουργήσετε το αρχείο με τον πηγαίο κώδικα HelloWorldApp.java, μεταγλωττίστε το με την ακόλουθη εντολή $ javac HelloWorldApp.java Αν ο μεταγλωττιστής δεν επιστρέψει μηνύματα, το νέο αρχείο HelloWorldApp.class αποθηκεύεται στον ίδιο κατάλογο με το πηγαίο αρχείο. Αν υπάρχουν μηνύματα δείτε το πιο κάτω υποκεφάλαιο Εκτέλεση Για να εκτελέσετε την εφαρμογή HelloWorldApp, χρησιμοποιείται το διερμηνέα Java που βρίσκεται στον κατάλογο bin $ java HelloWorldApp Hello World! Σημείωση Αν δεν έχετε θέσει τη μεταβλητή περιβάλλοντος PATH ώστε να περιλαμβάνει το $JAVA_HOME/bin, πρέπει να δώσετε την πλήρη διαδρομή για το javac και java. 1.4 Διορθώσεις λαθών κατά τη μεταγλώττιση εκτέλεση Μηνύματα λάθους κατά τη μεταγλώττιση Τα παρακάτω είναι κοινά μηνύματα λάθους κατά τη μεταγλώττιση javac: Command not found o Η μεταβλητή path δεν έχει τεθεί σωστά ώστε να περιλαμβάνει το μεταγλωττιστή javac. Ο μεταγλωττιστής javac βρίσκεται στον κατάλογο bin κάτω από τον κατάλογο όπου εγκαταστήσατε το Java Developers Kit. HelloWorldApp.java:3: Method printl(java.lang.string) not found in class java.io.printstream. System.out.printl ( Hello World! ); ^ o Το όνομα της μεθόδου println έχει πληκτρολογηθεί λάθος. In class HelloWorldApp: main must be public and static o Το λάθος αυτός συμβαίνει γιατί μία από τις λέξεις public και static έχουν παραληφθεί από τη γραμμή που περιέχει τη μέθοδο main Μηνύματα λάθους κατά την εκτέλεση Can t find class HelloWorldApp o (Το λάθος αυτό εμφανίζεται όταν πληκτρολογείται java HelloWorldApp) 7

8 o Γενικά, αυτό σημαίνει ότι το όνομα της κλάσης έχει γραφεί με λάθος γραφή στο πηγαίο αρχείο και συνεπώς το όνομα filename.class έχει γραφεί με λάθος τρόπο, π.χ. λάθος συνδυασμό πεζών και κεφαλαίων, εξ αιτίας του ορισμού της κλάσης. o Για παράδειγμα το class HelloWorldapp { δημιουργεί το αρχείο HelloWorldapp.class που δεν είναι το όνομα κλάσης που αναμένει ο μεταγλωττιστής. 1.5 Μορφή πηγαίου αρχείου Java Ονοματοδοσία Αν το αρχείο.java περιέχει μία δημόσια (public) κλάση τότε το όνομά του πρέπει να είναι αυτό της κλάσης Πλήθος κλάσεων Ο κανόνας της Java δηλώνει ότι το πολύ μία δημόσια κλάση πρέπει να είναι ορισμένη σε ένα πηγαίο αρχείο. Μπορεί να περιέχει πλήθος άλλων κλάσεων, αρκεί μόνο μία να είναι public. Αυτό βέβαια δεν είναι σωστή πρακτική Διαμόρφωση (layout) Ένα πηγαίο αρχείο.java μπορεί να περιέχει τρία στοιχεία «άνω επιπέδου». Αυτά είναι: Προαιρετικά μία δήλωση πακέτου (package). Οποιοσδήποτε αριθμός εντολών εισαγωγής import. Δηλώσεις κλάσεων και διεπαφών. Τα στοιχεία αυτά πρέπει να εμφανίζονται με αυτή τη σειρά. Δηλαδή, οι εντολές εισαγωγής import πρέπει να βρίσκονται πριν από τις δηλώσεις των κλάσεων και αν χρησιμοποιείται δήλωση πακέτου, αυτή θα πρέπει να προηγείται των εντολών import και των δηλώσεων των κλάσεων. 1.6 Χρήση της τεκμηρίωσης της Java Το JDK περιέχει ένα σύνολο αρχείων HTML που τεκμηριώνουν το API που παρέχεται από τα παρεχόμενα πακέτα. Όλη η τεκμηρίωση είναι διαθέσιμη από τη σελίδα ενώ στη σελίδα είναι διαθέσιμη η τεκμηρίωση για την έκδοση της Java, Standard Edition. Η τεκμηρίωση παρουσιάζεται με δύο διαμορφώσεις: με πλαίσια (frames) και χωρίς πλαίσια. Η διαμόρφωση χωρίς πλαίσια είναι ιεραρχική, ώστε η αρχική σελίδα για το σύνολο να παρουσιάζει όλα τα πακέτα ως συνδέσμους. Αν επιλέξετε ένα συγκεκριμένο πακέτο, η σελίδα που θα παρουσιαστεί περιέχει όλες τις κλάσεις που είναι μέλη του συγκεκριμένου πακέτου. Κάθε κλάση είναι ένας σύνδεσμος και επιλέγοντάς την θα παρουσιαστεί η σελίδα με την πληροφορία σχετικά με την κλάση. Η διαμόρφωση με πλαίσια χωρίζει τη σελίδα σε τρία μέρη, βλέπε την επόμενη εικόνα. Στο πάνω αριστερά παρουσιάζονται όλα τα πακέτα, στο κάτω αριστερά όλες οι κλάσεις, ενώ στο δεξί πλαίσιο παρουσιάζονται οι περιγραφές όλων των πακέτων. Επιλέγοντας ένα 8

9 πακέτο από το πάνω αριστερά πλαίσιο, στο κάτω αριστερά θα παρουσιαστούν οι κλάσεις που αυτό περιέχει και επιλέγοντας μία από τις κλάσεις θα παρουσιαστεί στο δεξί πλαίσιο η πληροφορία σχετικά με αυτή. Κάθε κείμενο κλάσης έχει την ίδια διαμόρφωση, αν και ορισμένα τμήματα μπορεί να έχουν παραληφθεί αν δεν είναι σχετικά με την κλάση. Τα κύρια μέρη ενός κειμένου κλάσης περιλαμβάνουν: Την ιεραρχία της κλάσης Μία περιγραφή της κλάσης και του γενικού σκοπού που έχει Μια λίστα των μεταβλητών μελών (member variables) Μία λίστα των μεθόδων δημιουργίας στιγμιοτύπων (γεννητριών) (constructor) Μία λίστα των μεθόδων Μία λεπτομερή λίστα των μεταβλητών, με πλήρη περιγραφή του σκοπού και της χρήσης της κάθε μίας. Μία λεπτομερή λίστα των μεθόδων δημιουργίας (γεννητριών), με πλήρη περιγραφή. Μία λεπτομερή λίστα των μεθόδων, με πλήρη περιγραφή Το γεγονός ότι ένα πλήκτρο (button) κληρονομεί από ένα συστατικό (component) παρουσιάζεται στην ιεραρχία των κλάσεων, και προς το παρόν, θα πρέπει να γνωρίζεται ότι πολλές από τις διευκολύνσεις μίας κλάσης μπορεί να μην είναι τεκμηριωμένες στη σελίδα της κλάσης, αλλά να περιγράφονται στη σελίδα της γονικής της κλάσης. Συνεπώς, η μέθοδος setname() για την κλάση Button βρίσκεται στην τεκμηρίωση για την κλάση Component. 9

10 1.7 Ασκήσεις Πρώτο επίπεδο δυσκολίας 1. Ξεκινήστε με χρήση του browser την τεκμηρίωση της Java. Βρείτε το API του πακέτου java.lang. Ποιες κλάσεις ορίζονται στο πακέτο; Ποιες είναι ορισμένες από τις μεθόδους της κλάσης System; Σε ποιο πακέτο ορίζεται η μέθοδος System.out.println; 2. Δημιουργείστε μία εφαρμογή παρόμοια με τη HelloWorldApp, η οποία θα εκτυπώνει μία συμβολοσειρά. Μεταγλωττίστε το πρόγραμμα, διορθώστε τυχόν λάθη και εκτελέστε το με χρήση του διερμηνέα της Java Τρίτο επίπεδο δυσκολίας 1. Γράψτε μία εφαρμογή που θα διαβάζει μία γραμμή από το stdin και θα τη γράφει στο stdout. Αμφότερα τα stdin και stdout βρίσκονται στην κλάση java.lang.system. 10

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

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

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

B. Ενσωμάτωση Ιθαγενών Μεθόδων

B. Ενσωμάτωση Ιθαγενών Μεθόδων B. Ενσωμάτωση Ιθαγενών Μεθόδων Στο τέλος αυτού του κεφαλαίου θα μπορείτε: Να δημιουργείτε κώδικα Java που θα φορτώνει βιβλιοθήκες και θα καλεί ιθαγενείς μεθόδους (native methods). Να χρησιμοποιείτε τη

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

Το πρόγραμμα 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 υποστηρίζει

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

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

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

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

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

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

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

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

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

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

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) 26/2/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,

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

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

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

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

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

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

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

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήρια Δευτέρα 18:00-20:00,Τρίτη

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

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

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

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

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

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

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Στόχοι εργαστηρίου Εξοικείωση με τις βασικές

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

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

03 Η ιδεατή μηχανή της Java 03 Η ιδεατή μηχανή της Java Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα Η πλατφόρμα της Java γενικά Εισαγωγή στο

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο : Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. Μονάδες 8 Β. Στον

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

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2 Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

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

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

Η ιδεατή μηχανή της Java Η ιδεατή μηχανή της Java Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα Η πλατφόρμα

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

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

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

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

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

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

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

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

05β Η ιδεατή μηχανή της Java 05β Η ιδεατή μηχανή της Java Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

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

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

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

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

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

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

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

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

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

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

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

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

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

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

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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

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

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος. Û ØÓÒ ÔÖÓ Ö ÑÑ Ø Ñ ¾ Ç Ö ÐÓ ØÛÒ ÙÔÓÐÓ ØôÒ Ο υπολογιστής είναι εργαλείο επίλυσης προβλημάτων λόγω: ταχύτητας υπολογισμού και μεγέθους μνήμης γενικής χρησιμότητας μέσω της έννοιας του προγραμματισμού. Η

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

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

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

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

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

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

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

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 1 η Εισαγωγή στη Γλώσσα C Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

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

ΔΕΙΚΤΕΣ ΚΑΙ ΔΙΕΥΘΥΝΣΕΙΣ

ΔΕΙΚΤΕΣ ΚΑΙ ΔΙΕΥΘΥΝΣΕΙΣ ΔΕΙΚΤΕΣ ΚΑΙ ΔΙΕΥΘΥΝΣΕΙΣ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Εισαγωγή στους δείκτες Το μοντέλο της μνήμης, σωρός και στοίβα Αναφορές Δείκτες και πίνακες Δέσμευση και αποδέσμευση μνήμης

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

Μπορείτε να δηλώσετε πίνακα οποιουδήποτε τύπου είτε βασικού είτε κλάσης:

Μπορείτε να δηλώσετε πίνακα οποιουδήποτε τύπου είτε βασικού είτε κλάσης: 4. Πίνακες Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δηλώνετε και να δημιουργείτε πίνακες βασικών τύπων, κλάσεων ή άλλων πινάκων Να δηλώνετε την ανάγκη, και να μπορείτε να αρχικοποιήσετε τα στοιχεία

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα Η μνήμη του υπολογιστή Η κύρια μνήμη (main memory - RAM) του υπολογιστή κρατάει τα δεδομένα για την εκτέλεση των προγραμμάτων.

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

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

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ «ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ 1 4.1. Οριςμόσ φνθετων τφπων κλάςεων 2 Με εξαίρεςη τουσ βαςικούσ τύπουσ τησ Java (int, float, boolean, κλπ) τα

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

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

HelloApplet. Παύλος Εφραιμίδης Java Applets 1 HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Δοκιμή Έλεγχος Αλγορίθμου Για να

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

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

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

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

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

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

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

Τι σημαίνει; n Για την αποδοτική δέσμευση δομών δεδομένων μη. n Για την αποφυγή «διαρροών μνήμης» (memory leaks).

Τι σημαίνει; n Για την αποδοτική δέσμευση δομών δεδομένων μη. n Για την αποφυγή «διαρροών μνήμης» (memory leaks). Δέσμευση Μνήμης (memory allocatio) Τι σημαίνει; Διαχείριση Μνήµης Ο καλός προγραμματισμός επιβάλλει την αποδοτική χρήση της μνήμης του Η/Υ. Είναι σημαντικό να καταλαβαίνουμε τις διαδικασίες δέσμευσης μνήμης:

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

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

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( ) ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

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

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Ιστορία Ο Patrick Naughton απειλεί την Sun ότι θα φύγει. Τον βάζουν σε μία ομάδα αποτελούμενη από τους James Gosling και Mike Sheridan για

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες

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

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

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

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

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

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

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

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6 Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:

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

Προγραμματισμός I (Θ)

Προγραμματισμός I (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος

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

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 2 Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές Σύνοψη Το κεφάλαιο αυτό εισάγει τον αναγνώστη σε βασικές έννοιες που είναι χρήσιμες για την απόκτηση μιας πρώτης εμπειρίας με την Python. Προαπαιτούμενη

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

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS. Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java

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

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

. Μεθοδολογία Προγραμματισμού. Εισαγωγή στη Java. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Εισαγωγή στη Java Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία Προγραμματισμού

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

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Πώς βλέπουμε τις ιδιότητες των αντικειμένων που έχουμε δημιουργήσει; Ανοίγουμε το σενάριο CarWorld και δημιουργούμε μερικά αντικείμενα των κλάσεων

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

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

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

Mεταβλητές (variables) και Σταθερές (constants) Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε

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

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

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός

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

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1 Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα Προγραμματισμός II 1 lalis@inf.uth.gr Χρήση λογισμικού που ήδη υπάρχει Τα πολύπλοκα συστήματα αναπτύσσονται σταδιακά, «χτίζοντας» πάνω σε υπάρχουσα λειτουργικότητα

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

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

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

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

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)

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

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

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

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

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

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

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Πρόγραμμα σε γλώσσα μηχανής του ΕΚΥ Θέση μνήμης Περιεχόμενα μνήμης Εντολή (assembly) 0 0001 000000000011 lda 3 1 0011 000000000100 ada

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων

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

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning

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

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