Εισαγωγή στο πρόγραμμα DrJava 1 Version 2.0 Επιμέλεια: Κόγιας Δημήτρης, Χαράλαμπος Πατρικάκης, Aliaksandr Barushka 1 Το κείμενο έχει γραφτεί χρησιμοποιώντας υλικό από τις οδηγίες για τους χρήστες του προγράμματος DrJava που είναι διαθέσιμες στη σελίδα http://drjava.org Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [1]
Πίνακας Περιεχομένων Κεφάλαιο 1. Εισαγωγή... 4 Κεφάλαιο 2. Οδηγίες Εγκατάστασης... 4 Φιλοσοφία... 4 Κατεβάζοντας και Εγκαθιστώντας το DrJava... 4 Τρέχοντας το DrJava σε Windows... 4 Απαιτήσεις... 4 Κεφάλαιο 3. Γράφοντας Προγράμματα... 6 Παράθυρο Ορισμών (Definitions Pane)... 6 Σύνταξη Κώδικα με Χρώματα... 6 Αυτόματη Ενδοπαραγραφοποίηση... 7 Συνδυασμός Παρενθέσεων και Αγκυλών σε ζευγάρια... 7 Δημιουργία Σχολίων και Αφαίρεση αυτών... 7 Αυτόματη Συμπλήρωση... 7 Πολλαπλά Αρχεία... 7 Αρίθμηση Γραμμών... 8 Σελιδοδείκτες (bookmarks)... 8 Κεφάλαιο 4. Δημιουργία Ενός Project... 9 Δημιουργία Καινούργιων Project... 9 Αποθήκευση ενός Project... 9 Άνοιγμα ενός Project... 9 Μεταγλώττιση (Compile) ενός Project... 10 Ελέγχοντας τη λειτουργία ενός Project... 10 Εκτέλεση ενός Project... 10 Δημιουργία Αρχείου Jar Από το Project... 10 Ιδιότητες Ενός Project: Η Ρίζα του... 10 Ιδιότητες Ενός Project: Φάκελος Build... 10 Ενεργός Φάκελος... 11 Κλάση Main... 11 Κεφάλαιο 5. To Παράθυρο Αλληλεπίδρασης... 12 Πως Χρησιμοποιείται... 12 Τρέχοντας τη Μέθοδο Main... 13 Κεφάλαιο 6. Μεταγλώττιση Προγραμμάτων... 14 Μεταγλωττίζοντας Αρχεία... 14 Βλέποντας τα Σφάλματα της Μεταγλώττισης... 14 Επιλέγοντας Μεταγλωττιστή... 14 Κεφάλαιο 7. Εντοπισμός Σφαλμάτων (Debugging)... 16 Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [2]
Χρησιμοποιώντας τον Εντοπισμό Σφαλμάτων... 16 Σημεία Διακοπής (Breakpoints )... 16 Panel Σημάτων Διακοπής... 17 Αλληλεπίδραση σε Ένα Σημείο Διακοπής... 17 Βηματική ή ολική εκτέλεση... 17 Το Panel του Εντοπισμού Σφαλμάτων (Debug Panel)... 18 Παρακολουθώντας Πεδία και Μεταβλητές... 18 Κεφάλαιο 8. Δημιουργία Τεκμηριώσεων (documentation) με Χρήση του Javadoc... 19 Γράφοντας Σχόλια σε Javadoc... 19 Απλά Σχόλια... 19 Χρήση Ετικετών... 20 Κεφάλαιο 9. Το Πρώτο Πρόγραμμα στο DrJava... 21 Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [3]
Κεφάλαιο 1. Εισαγωγή Το DrJava είναι ένα περιβάλλον προγραμματισμού σε Java, που προορίζεται κυρίως για να βοηθήσει τους σπουδαστές να επικεντρωθούν περισσότερο στο σχεδιασμό ενός προγράμματος και όχι τόσο στην κατανόηση των χαρακτηριστικών για τη χρήση ενός περίπλοκου περιβάλλοντος ανάπτυξης (Integrated Development Environment). Ταυτόχρονα, όμως, το πρόγραμμα παρέχει και πολλά προηγμένα χαρακτηριστικά χρήσιμα για έμπειρους προγραμματιστές. Αυτά τα χαρακτηριστικά επικεντρώνονται γύρω από το Παράθυρο Αλληλεπίδρασης (Interactions Pane) του DrJava, το οποίο επιτρέπει στους χρήστες να αναπτύσσουν εύκολα προγράμματα σε Java και να κάνουν δοκιμές και ελέγχους σφαλμάτων με ένα διαδραστικό τρόπο. Κεφάλαιο 2. Οδηγίες Εγκατάστασης Το κεφάλαιο αυτό περιγράφει τα βασικά για το πώς να εγκαταστήσετε και να χρησιμοποιήσετε το DrJava. Φιλοσοφία Η γενική ιδέα πίσω από το DrJava είναι να αποτελέσει ένα ισχυρό εργαλείο ανάπτυξης, το οποίο να μπορεί να χρησιμοποιηθεί όσο γίνεται πιο εύκολα. Για το λόγο αυτό, το DrJava είναι απλό για να το τρέξει και να το καταλάβει ο χρήστης, χρησιμοποιώντας μια απλή διεπαφή χρήστη, ευκολόχρηστα παράθυρα και μια ευανάγνωστη γραμμή εργαλείων. Επιπλέον, επιδιώκει τη διευκόλυνση των αρχάριων χρηστών στην εξοικείωση τους με τη σύνταξη κώδικα Java, επιτρέποντάς τους να αξιολογούν γρήγορα εκφράσεις στο Παράθυρο Αλληλεπίδρασης του DrJava. Κατεβάζοντας και Εγκαθιστώντας το DrJava Μπορείτε να κατεβάσετε τις τελευταίες κυκλοφορίες του DrJava ως αρχείο.jar από τη σελίδα http://www.drjava.org/ ή από τη σελίδα http://sourceforge.net/projects/drjava/ του SourceForge. Τρέχοντας το DrJava σε Windows Εάν χρησιμοποιείτε Windows, μπορείτε να κατεβάσετε DrJava ως ένα εκτελέσιμο αρχείο από την ιστοσελίδα που δόθηκε και έπειτα μπορείτε να το τρέξετε σαν ένα κανονικό πρόγραμμα των Windows. Απαιτήσεις Το DrJava απαιτεί Java 5 ή νεότερη έκδοση. Σημειώστε ότι θα πρέπει να έχετε εγκατεστημένο το JDK (όχι το JRE), εάν επιθυμείτε να χρησιμοποιήσετε το πρόγραμμα εντοπισμού σφαλμάτων (debugger) ή να δημιουργήσετε Javadoc εντός DrJava. Σας συνιστούμε να κατεβάσετε και να χρησιμοποιήσετε το τελευταίο JDK για την ομαλή λειτουργία του προγράμματος. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [4]
Κατέβασμα του αρχείου από την επίσημη σελίδα της εφαρμογής Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [5]
Κεφάλαιο 3. Γράφοντας Προγράμματα Βασική συνιστώσα του DrJava είναι ένας editor για το γράψιμο κώδικα σε Java. Όπως και οι περισσότεροι συντάκτες κειμένου (text editors), έτσι και το DrJava υποστηρίζει ένα ευρύ φάσμα χαρακτηριστικών σύνταξης, όπως "Find/Replace", "Go to Line", "Go to File", καθώς επίσης και την παροχή περισσοτέρων προηγμένων χαρακτηριστικών που θα συζητήσουμε στη συνέχεια. Το περιβάλλον της εφαρμογής Παράθυρο Ορισμών (Definitions Pane) Το παράθυρο ορισμών είναι το κύριο παράθυρο του DrJava, καθώς σε αυτό εμφανίζεται το ενεργό πηγαίο αρχείο (source file) στο οποίο δουλεύουμε. Κατά την επεξεργασία ενός αρχείου σε αυτό το παράθυρο, το DrJava βοηθά με πολλές χρήσιμες λειτουργίες. Σύνταξη Κώδικα με Χρώματα Το DrJava χρωματίζει ειδικούς τύπους του κειμένου με διαφορετικό χρώμα για να βοηθήσει να γίνει πιο εμφανής η δομή του προγράμματος. Τα σχόλια εμφανίζονται με πράσινο χρώμα, ενώ οι λέξειςκλειδιά και οι τύποι εμφανίζονται με μπλε χρώμα. Τα strings εμφανίζονται με κόκκινο και οι χαρακτήρες με σκούρο μωβ (magenta), ενώ όλο το άλλο κείμενο με μαύρο χρώμα. Αυτά τα χρώματα είναι όλα ρυθμιζόμενα. Μια αξιοσημείωτη διαφορά μεταξύ της σύνταξης κώδικα με χρώματα του DrJava και άλλων κοινών editors (π.χ., το Emacs), είναι ότι το DrJava χρησιμοποιεί πλήρως σωστό (fully correct) χρωματισμό κατά την επεξεργασία του εγγράφου. Για παράδειγμα, πληκτρολογώντας απλά την αρχή ενός σχολίου μπλοκ ("/*") θα ενημερώσει αμέσως το χρωματισμό του συνολικού εγγράφου, σε αντίθεση με κάποιους άλλους editors, που θα ενημερώσουν μόνο το χρώμα της γραμμής που επεξεργαζόμαστε. Η δυνατότητα προσδιορισμού μιας ακριβούς εικόνας του προγράμματος είναι μια σημαντική πτυχή στην κατανόηση της δομής του. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [6]
Αυτόματη Ενδοπαραγραφοποίηση Το κλειδί για να δημιουργήσουμε τα απαραίτητα κενά σε κώδικα στο DrJava, είναι το πλήκτρο Tab. Καθώς πληκτρολογούμε πολλές γραμμές κώδικα, το DrJava δημιουργεί εσοχές αυτόματα σε κάθε γραμμή, χρησιμοποιώντας την ίδια λογική. Από προεπιλογή, δύο κενά (spaces) χρησιμοποιούνται για κάθε επίπεδο εσοχής, αν και αυτό μπορεί να ρυθμιστεί και στο παράθυρο Επιλογών. (Στο DrJava ο κώδικας έχει πάντα εσοχές με κενά σύμφωνα και με τη ρύθμιση αυτή). Συνδυασμός Παρενθέσεων και Αγκυλών σε ζευγάρια Για να σας βοηθήσει να ταιριάξετε τις ανοικτές με τις κλειστές παρενθέσεις, το DrJava αναδεικνύει την περιοχή που περικλείεται ανάμεσα σε ζεύγη αυτών. Με τον τρόπο αυτόν, αν τοποθετήσετε τον κέρσορα αμέσως μετά από μια κλειστή παρένθεση ή αγκύλη, τότε όλο το κείμενο μεταξύ εκείνου του χαρακτήρα και της αντίστοιχης ανοικτής παρένθεσης ή αγκύλης τονίζεται σε άλλο χρώμα. Δημιουργία Σχολίων και Αφαίρεση αυτών Για να μπορέσετε να γράψετε εύκολα σχόλια πολλών γραμμών, το DrJava προσθέτει αυτόματα χώρους και έναν αστερίσκο σε κάθε νέα γραμμή. Επιπλέον, υπάρχει μια επιλογή στην ενότητα "Miscellaneous" του παραθύρου Επιλογών (Preferences), η οποία χρησιμοποιείται για να κλείσει αυτόματα τα σχόλια πολλαπλών γραμμών. Σχολιάζοντας ένα μπλοκ του κώδικα σας, το DrJava θα προσθέσει "//" δείκτες στην αρχή της κάθε γραμμής στο μπλοκ, διατηρώντας παράλληλα την ενδοπαραγραφοποίηση του κώδικα. Αυτόματη Συμπλήρωση Το DrJava υποστηρίζει μια πολύ περιορισμένη έννοια της αυτόματης συμπλήρωσης μιας λέξης, που είναι ωστόσο πολύ χρήσιμη. Αυτό το χαρακτηριστικό ενεργοποιείται με την επιλογή "Auto- Complete Word Under Cursor" στο Edit μενού και ως προεπιλεγμένη συντόμευση πληκτρολογίου με την χρήση των πλήκτρων Ctrl-Shift-Space. Όταν το καλέσουμε το DrJava θα εξετάσει τη λέξη στα αριστερά του κέρσορα και θα προσπαθήσει να την ολοκληρώσει. Αν δεν υπάρχει ένα μοναδικό ταίρι, το DrJava εμφανίζει ένα προβλεπόμενο διάλογο επιλογής με τις υποψήφιες εντολές συμπλήρωσης. Επίσης, όταν ένα project είναι ανοιχτό, το DrJava μπορεί να ρυθμιστεί ώστε να σαρώσει όλα τα αρχεία των κλάσεων και μετά από μια μεταγλώττιση να αποκτήσει τις απαραίτητες πληροφορίες ολοκλήρωσης. Με αυτό το σύνολο επιλογών, το DrJava μπορεί αυτόματα να ολοκληρώσει τα ονόματα όλων των τάξεων στο έργο σας, ακόμη και εκείνων των εσωτερικών τάξεων. Πολλαπλά Αρχεία Τα περισσότερα προγράμματα Java είναι γραμμένα σε πολλά συγγενή πηγαία αρχεία, έτσι το DrJava υποστηρίζει το ταυτόχρονο άνοιγμα πολλών αρχείων. Μια λίστα με τα ονόματα όλων των ανοιχτών εγγράφων εμφανίζεται σε ένα παράθυρο προς τα αριστερά, ταξινομώντας τα αρχεία με τη σειρά που έχουν ανοιχτεί. Μπορείτε να δείτε και να επεξεργαστείτε ένα συγκεκριμένο έγγραφο επιλέγοντάς το από τη λίστα, ή χρησιμοποιώντας τις εντολές Previous και Next Document του Edit menu. Η πλήρης διαδρομή του αρχείου του τρέχοντος εγγράφου εμφανίζεται στη γραμμή τίτλου και στη γραμμή κατάστασης στο κάτω μέρος του παραθύρου. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [7]
Αρίθμηση Γραμμών Το DrJava εμφανίζει τον τρέχοντα αριθμό της γραμμής και της στήλης του δρομέα στη δεξιά πλευρά της γραμμής κατάστασης στο κάτω μέρος του παραθύρου. Ο αριθμός της γραμμής παρουσιάζεται στα αριστερά και ξεκινά από 1, και ο αριθμός της στήλης εμφανίζεται στα δεξιά και ξεκινά από 0. Σελιδοδείκτες (bookmarks) Το DrJava σας επιτρέπει να θέσετε σελιδοδείκτες στον κώδικά σας στα σημεία που θεωρείτε σημαντικά. Πατώντας Ctrl-Shift-M ή χρησιμοποιώντας το στοιχείο "Bookmarks" στο μενού Εργαλείων (Tools menu), μπορείτε να εμφανίσετε τη λίστα των σελιδοδεικτών στο παράθυρο "Bookmarks". Οι σελιδοδείκτες ταξινομούνται με το έγγραφο και τον αριθμό της γραμμής. Με τη συντόμευση πληκτρολογίου Ctrl-M ή το "Toggle Bookmark" από το μενού Εργαλείων, μπορείτε να προσθέσετε και να αφαιρέσετε σελιδοδείκτες. Αν δεν έχει επιλεγεί κείμενο, το "Toggle Bookmark" θα προσθέσει ή θα αφαιρέσει ένα σελιδοδείκτη για ολόκληρη τη γραμμή που βρίσκεται ο κέρσορας. Εάν έχει επιλεγεί κείμενο, τότε ο σελιδοδείκτης θα προστεθεί στο κείμενο αυτό. Με την επιλογή ενός σελιδοδείκτη στο παράθυρο "Bookmarks" και πατώντας το κουμπί "Go to", μπορείτε να μεταβείτε στη θέση που σχετίζεται με το σελιδοδείκτη. Μπορείτε επίσης να επιλέξετε έναν ή περισσότερους σελιδοδείκτες και να τα αφαιρέσετε με το κουμπί "Remove" ή να διαγράψετε ολόκληρη τη λίστα με το κουμπί "Remove All". Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [8]
Κεφάλαιο 4. Δημιουργία Ενός Project Το DrJava περιλαμβάνει τη δυνατότητα δημιουργίας project για τη διαχείριση πολλών αρχείων. Η δυνατότητα αυτή σας επιτρέπει να αποθηκεύσετε τα ανοιχτά σας αρχεία σε ένα αρχείο project και να ανοίξτε ξανά αυτό το αρχείο σε μεταγενέστερο χρόνο για να το επεξεργαστείτε. Δημιουργία Καινούργιων Project Για να δημιουργήσετε ένα καινούργιο project είτε επιλέξτε "New" στο Project menu για ένα project που είναι αρχικά άδειο ή επιλέξτε "Save As" στο Project menu, όταν έχετε ένα ή περισσότερα αρχεία ήδη ανοιχτά. Η επιλογή "Save As" στο Project menu θα δημιουργήσει ένα νέο project από τα ανοιχτά αρχεία. Δημιουργία καινούργιου project Αποθήκευση ενός Project Για να αποθηκεύσετε ένα project είτε επιλέξτε "Save" στο Project menu είτε επιλέξτε "Save As" στο Project menu. Σημειώστε ότι όταν αποθηκεύετε το project, αποθηκεύει μόνο τη λίστα των αρχείων που βρίσκονται στο project και όχι τα αρχεία τα ίδια. Αποθήκευση του project δε σημαίνει αποθήκευση των αρχείων τα οποία είναι μέλη του project. Χρησιμοποιήστε το "Save All", αν θέλετε να αποθηκεύσετε όλα τα αρχεία, καθώς και το αρχείο του project στο οποίο ανήκουν. Με την αποθήκευση ενός project, θα διατηρηθεί επίσης η διάταξη (layout) του δέντρου του project (project tree), έτσι ώστε αν ορισμένοι φάκελοι (folders) κατέρρευσαν όταν γινόταν η αποθήκευση του project, τότε οι φάκελοι αυτοί θα είναι στις ίδιες θέσεις την επόμενη φορά που θα ανοίξει αυτό. Άνοιγμα ενός Project Για να ανοίξετε ένα project, επιλέξτε "Open" στο Project menu και στη συνέχεια επιλέξτε ένα πρόσφατα αποθηκευμένο αρχείο project. Μπορείτε επίσης να επιλέξετε να ανοίξετε ένα από τα πρόσφατα ανοιγμένα projects. Απλά ανοίξτε το Project Menu και κάντε κλικ στο όνομα του project, έτσι ώστε να ανοίξετε αυτό. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [9]
Μεταγλώττιση (Compile) ενός Project Υπάρχουν δύο επιλογές για να μεταγλωττίσετε ένα project: να μεταγλωττίσετε τα ανοιχτά αρχεία του project ή να μεταγλωττίσετε ολόκληρο το project. Για να μεταγλωττίσετε τα ανοιχτά αρχεία του project επιλέξτε "Compile Open Project Files" στο Project menu ή κάντε δεξί κλικ στη ρίζα του δέντρου και επιλέξτε "Compile Open Project Files." Ομοίως, για να μεταγλωττίσετε όλα τα αρχεία του project, ακόμα κι αν αυτά δεν είναι ανοικτά εκείνη τη στιγμή στο DrJava, επιλέξτε "Compile Project" από το Project Menu. Επίσης, με το κουμπί "Compile All" μεταγλωττίζονται όλα τα ανοιχτά αρχεία (files), αν και στο project view, το κουμπί αυτό μεταγλωττίζει μόνο το ανοικτό project. Ελέγχοντας τη λειτουργία ενός Project Υπάρχουν δύο επιλογές για τον έλεγχο ενός project: να ελέγξετε τα ανοιχτά αρχεία του project ή να ελέγξετε ολόκληρο το project. Για να ελέγξετε όλα τα ανοιχτά αρχεία του project, επιλέξτε "Test Open Project Files" στο Project menu. Αυτή η διαδικασία θα δοκιμάσει όλα τα ανοιχτά JUnit αρχεία ελέγχου (test files) στο Source Files project branch, καθώς και τα Auxiliary Files. Δε θα συμβεί το ίδιο όμως και στα αρχεία στο εξωτερικό branch (στον φάκελο των Εξωτερικών Αρχείων). Για να ελέγξετε όλα τα αρχεία του project, συμπεριλαμβανομένων και των αρχείων που δεν είναι ανοικτά στο DrJava, επιλέξτε "Test Project" στο project menu. Με αυτήν τη διαδικασία θα αναζητηθούν στον φάκελο του project τα αρχεία πηγής και θα δοκιμαστούν όλα όσα βρέθηκαν σ αυτήν την περίπτωση. Επίσης, θα δοκιμαστούν όλα τα αρχεία ελέγχου στο φάκελο των Βοηθητικών αρχείων (Auxiliary Files) του project. Εκτέλεση ενός Project Για να εκτελέσετε τη main μέθοδο ενός project, επιλέξτε "Run Main Class" από το Project menu. Αυτή η επιλογή είναι διαθέσιμη μόνο εάν έχετε καθορίσει ένα αρχείο που περιέχει τη main μέθοδο του project στο παράθυρο διαλόγου "Project Properties" από το Project menu. Δημιουργία Αρχείου Jar Από το Project Μπορείτε να δημιουργήσετε ένα αρχείο τύπου jar που να περιέχει τον πηγαίο κώδικα του project, τα μεταγλωττισμένα (compiled) αρχεία κλάσεων, ή και τα δύο με επιλογή του "Create Jar File from Project" από το Project menu. Αυτό θα εμφανίσει ένα παράθυρο διαλόγου που σας επιτρέπει να ορίσετε την τοποθεσία που θα αποθηκευτεί το αρχείο jar και να ορισθεί τι μπορεί να τεθεί σε αυτό. Αν τοποθετήσετε αρχεία κλάσεων στο αρχείο jar, μπορείτε να κάνετε εκτελέσιμο το αρχείο αυτό επιλέγοντας "Make executable" και εισάγοντας την κλάση main. Ιδιότητες Ενός Project: Η Ρίζα του Η ρίζα του project καθορίζει τον φάκελο που αντιστοιχεί στο προεπιλεγμένο πακέτο του project. Όλα τα αρχεία του project θα πρέπει να βρίσκονται σε αυτό τον φάκελο ή σε έναν υποφάκελο αυτού. Ιδιότητες Ενός Project: Φάκελος Build Το project facility επιτρέπει στο χρήστη να ορίσει φάκελο χτισίματος (build), όπου θα γίνεται η διαμόρφωση στα αρχεία των κλάσεων. Αυτό δίνει στο χρήστη τη δυνατότητα να διαχωρίσει τα αρχεία πηγαίου κώδικα και τα αρχεία των κλάσεων. Αυτή η ρύθμιση απαιτείται για να λειτουργήσουν σωστά τα χαρακτηριστικά "Clean Build Directory" και "Create Jar from Project". Για να καθαρίσετε τον φάκελο build, ανοίξτε το Project Menu και κάνετε κλικ στο "Clean Build Directory." Αυτό θα αφαιρέσει όλα τα αρχεία κλάσεων και τα κενά αρχεία από τον φάκελο build. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [10]
Ενεργός Φάκελος Ο ενεργός φάκελος αντιστοιχεί στον «τρέχοντα» φάκελο του project. Κλάση Main Το project facility επιτρέπει στο χρήστη να καθορίσει μια κλάση "Main" για το project. Όταν πατηθεί το πλήκτρο "Run Project" ή το"run Main Class of Project" τότε στη συνέχεια επιλέγεται στο Project menu, η μέθοδος main της "Κλάσης Main" και εκτελείται. Αν δεν έχει καθοριστεί η "Κλάση Main", το στοιχείο "Run Main Document of Project" δεν θα είναι διαθέσιμο, και το κουμπί "Run Project" αντικαθίσταται από το κουμπί "Run", που τρέχει τη μέθοδο main του τρέχοντος εγγράφου. Η "Main Class" μπορεί να οριστεί ως ένα αρχείο, χρησιμοποιώντας το αρχείο διαλόγου επιλογής ή ως ένα πλήρως αναγνωρισμένο όνομα της κλάσης που εγγράφονται απευθείας στο πεδίο (field). Σημειώστε ότι για να τρέξει εσωτερικές κλάσεις, το όνομα πρέπει να εισάγονται απευθείας. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [11]
Κεφάλαιο 5. To Παράθυρο Αλληλεπίδρασης Ένα από τα βασικά χαρακτηριστικά γνωρίσματα του DrJava είναι το παράθυρο Αλληλεπίδρασης, το οποίο σας επιτρέπει να εισάγετε και να αξιολογείτε τις δηλώσεις Java και τις εκφράσεις στη στιγμή (on the fly). Αυτό είναι εξαιρετικά χρήσιμο για τους αρχάριους μαθητές, οι οποίοι δεν χρειάζεται πλέον να μάθουν να γράφουν μεθόδους main, να μεταγλωττίζουν και να εκτελούν τα προγράμματα από μια γραμμή εντολών απλά για να δοκιμάσουν πώς μια νέα κλάση ή μέθοδος συμπεριφέρεται. Από την άποψη της διδασκαλίας, το παράθυρο Αλληλεπίδρασης είναι ένας πολύ εύκολος τρόπος για να βοηθά τους μαθητές να μάθουν να γράφουν κώδικα σε Java, χωρίς να χρειάζεται να εξηγήσουν την πλήρη έννοια της σύνταξης της εντολής, όπως για παράδειγμα "public static void main" και παρέχει επίσης έναν ιδανικό τρόπο για να γίνονται παρουσιάσεις. Το παράθυρο Αλληλεπίδρασης μπορεί επίσης να χρησιμοποιείται για να πειραματιστείτε με τα δικά σας προγράμματα ή νέες βιβλιοθήκες ή ακόμα και για τη δημιουργία γραφικών διαδραστικών διεπαφών χρήστη. Παράδειγμα χρήσης του παραθύρου Αλληλεπίδρασης Πως Χρησιμοποιείται Το παράθυρο Αλληλεπίδρασης υποστηρίζει την εκτέλεση οποιωνδήποτε έγκυρων δηλώσεων καθώς και την αξιολόγηση των εκφράσεων Java. Απλά ορίζετε τις μεταβλητές και τις μεθόδους κλήσης, όπως θα κάνατε σε μια συνήθη μέθοδο, ή ακόμη ορίζετε νέες κλάσεις και μεθόδους και τις καλείτε διαδραστικά. Σε γενικές γραμμές, κάθε δήλωση ή έκφραση που τελειώνει χωρίς ερωτηματικό θα εμφανίσει το αποτέλεσμά της στο παράθυρο Αλληλεπίδρασης, ενώ εκείνες που τελειώνουν με ένα ερωτηματικό θα ολοκληρωθούν χωρίς να εμφανιστεί το αποτέλεσμα. Κάθε έξοδος του συστήματος θα πρέπει να εμφανίζεται στο παράθυρο Αλληλεπίδρασης με πράσινο χρώμα (καθώς και στην καρτέλα Console), ενώ τα σφάλματα του συστήματος θα εμφανίζονται με κόκκινο χρώμα από προεπιλογή. Κάθε είσοδος του συστήματος θα προκαλεί την εμφάνιση ενός κουτιού για να εισαχθεί στο παράθυρο Αλληλεπίδρασης όπου μπορείτε να πληκτρολογήσετε ό,τι θέλετε να διαβαστεί από το System.in. Αυτό το κείμενο θα είναι χρωματισμένο μωβ. Αυτά τα χρώματα μπορούν να τροποποιηθούν στην ενότητα "Colors" από το παράθυρο Preferences. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [12]
Μπορείτε να δείτε στη συνέχεια ένα παράδειγμα για την χρήση του παραθύρου Αλληλεπίδρασης. Τρέχοντας τη Μέθοδο Main Για λόγους ευκολίας, το DrJava έχει τη δυνατότητα να καλέσει τη μέθοδο main μίας κλάσης στο παράθυρο Αλληλεπίδρασης, πληκτρολογώντας απλά "java", ακολουθούμενο από το όνομα της κλάσης και κάθε άλλο στοιχείο (παραμέτρους). Για παράδειγμα, για να τρέξει το: MyClass με παραμέτρους "arg1" και "arg2", πληκτρολογήστε τα ακόλουθα στο παράθυρο Αλληλεπίδρασης: java MyClass arg1 arg2 Σημειώστε ότι αυτή η λειτουργία δεν υποστηρίζει special flags ή παραμέτρους για το ίδιο το JVM, όπως υποστηρίζεται στη γραμμή εντολών. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [13]
Κεφάλαιο 6. Μεταγλώττιση Προγραμμάτων Οι compilers (μεταγλωττιστές) της Java ελέγχουν τα προγράμματά σας για λάθη και τα μεταφράζουν σε αρχεία κλάσεων που μπορούν να χρησιμοποιηθούν. Κάθε φορά που αλλάζετε το πηγαίο αρχείο κώδικα για μια κλάση, πρέπει να κάνετε μεταγλώττιση πριν να χρησιμοποιηθεί. Για να το κάνετε αυτό σε DrJava, μπορείτε απλά να κάντε κλικ στο κουμπί "Compile All" στη γραμμή εργαλείων ώστε να γίνει μεταγλώττιση σε κάθε ανοιχτό έγγραφο. Επίσης, τυχόν λάθη που προκύπτουν επισημαίνονται στο έγγραφο. Μεταγλωττίζοντας Αρχεία Για να μεταγλωττίσετε αρχεία που έχετε ανοίξει στο DrJava, κάντε κλικ στο κουμπί "Compile All" στη γραμμή εργαλείων, είτε επιλέξετε "Compile All" ή "Compile Current Document" από το Tools menu. Πριν αρχίσει η μεταγλώττιση, όλα τα ανοιχτά αρχεία πρέπει να αποθηκευτούν, ακόμη και αν γίνεται μεταγλώττιση μόνο στο τρέχον έγγραφο. Αυτό είναι απαραίτητο επειδή ένα αρχείο μπορεί να εξαρτάται από άλλα αρχεία, και είναι σημαντικό το ότι τα αρχεία δεν τροποποιούνται όταν εμφανίζονται σφάλματα. (Διαφορετικά, ένα λάθος επισημαίνεται στη γραμμή που έχει αλλάξει). Μόλις μια μεταγλώττιση ολοκληρωθεί με επιτυχία, το παράθυρο Αλληλεπίδρασης επαναφέρεται, έτσι ώστε να μπορούν να χρησιμοποιηθούν τα νέα αρχεία των κλάσεων. Η έξοδος για το παράθυρο της Κονσόλας (Console) επαναφέρεται επίσης για να ξεκινήσει εκ νέου η συγγραφή, εκτός αν η επιλογή "Clear Console After Interactions Reset" στο τμήμα "Miscellaneous" των Ρυθμίσεων είναι απενεργοποιημένη. Στη λειτουργία του project, έχετε την επιλογή να μεταγλωττίσετε όλα τα πηγαία αρχεία του project, ακόμη και αν αυτά τα αρχεία δεν είναι ανοιχτά στο DrJava. Για να μεταγλωττίσετε όλα τα πηγαία αρχεία, κάντε κλικ στο κουμπί "Compile Open Project Files" στο Project Menu. Βλέποντας τα Σφάλματα της Μεταγλώττισης Αν ο μεταγλωττιστής βρίσκει τυχόν λάθη στο πρόγραμμά σας, το DrJava τα εμφανίζει στη καρτέλα Μεταγλώττισης στο κάτω μέρος του παραθύρου. Μια περίληψη του κάθε σφάλματος εμφανίζεται στη λίστα, συμπεριλαμβανομένου του ονόματος αρχείου και του αριθμού της γραμμής. Μπορείτε να κάνετε κλικ σε οποιοδήποτε σφάλμα ώστε να τονιστεί η αντίστοιχη γραμμή στο ίδιο το έγγραφο. (Σημειώστε ότι ένα αρχείο θα ανοίξει αυτόματα εάν περιέχει σφάλματα που εντοπίστηκαν από τον compiler.) Ομοίως, αν ο κέρσορας μετακινηθεί σε μια γραμμή κώδικα που περιέχει ένα σφάλμα, ενώ είναι ενεργό το παράθυρο του Μεταγλωττιστή, αυτή η γραμμή και το αντίστοιχο μήνυμα σφάλματος τονίζονται. Μπορείτε να απενεργοποιήσετε τα τονισμένα σφάλματα μεταγλώττισης στην πηγή αναιρώντας την επιλογή "Highlight Source" στο παράθυρο του Μεταγλωττιστή ή με το κλείσιμο του παραθύρου αυτού. Επιλέγοντας Μεταγλωττιστή Το DrJava υποστηρίζει τη χρήση διαφορετικών Java μεταγλωττιστών, όπως διαφορετικές εκδόσεις του "Javac" compiler που παρέχεται με το JDK. Το DrJava θα προσπαθήσει να εντοπίσει από μόνο του τον μεταγλωττιστή σας κατά την, αλλά μερικές φορές δεν είναι σε θέση να τον βρεί. Σε αυτή την περίπτωση θα χρησιμοποιήσει τον συμπεριλαμβανόμενο μεταγλωττιστή του προγράμματος Eclipse. Σημειώστε ότι η θέση του μεταγλωττιστή μπορεί να οριστεί στις Ρυθμίσεις. Εάν περισσότεροι από ένα μεταγλωττιστή έχουν καθοριστεί, ο ενεργός μεταγλωττιστής μπορεί να επιλεγεί από ένα μενού στο παράθυρο Μεταγλώττισης. Το DrJava θα εμφανίσει μόνο ένα μεταγλωττιστή για κάθε σημαντική έκδοση, ακόμη και αν έχετε περισσότερες από μία ενημερωμένες εκδόσεις του JDK εγκατεστημένες. (Παράδειγμα: έχετε JDK 6 Ενημερώσεις 10 και 14 εγκατεστημένο. Το DrJava θα εμφανίσει μόνο JDK 6 Update 14). Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [14]
Εάν θέλετε να εμφανίσετε όλες τις εκδόσεις μεταγλωττιστή που βρέθηκαν, ενεργοποιήστε την επιλογή "Show all compiler versions" στις Ρυθμίσεις. Ο μεταγλωττιστής που προτιμάται μπορεί επίσης να επιλεγεί οριστικά με τη ρύθμιση Compiler Preference στην κατηγορία των Ρυθμίσεων σχετικά με Επιλογές Μεταγλωττιστή. Το DrJava τότε θα επιλέξει τον επιλεγμένο μεταγλωττιστή κατά την εκκίνηση. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [15]
Κεφάλαιο 7. Εντοπισμός Σφαλμάτων (Debugging) Το DrJava παρέχει προηγμένα εργαλεία για τον εντοπισμό σφαλμάτων των προγραμμάτων σας στο παράθυρο Αλληλεπίδρασης. Μπορείτε να ορίσετε σημεία διακοπής (breakpoints) στα πηγαία αρχεία, να καλέστε μεθόδους που σταματούν στα σημεία διακοπής που φαίνονται στο παράθυρο Αλληλεπίδρασης και στη συνέχεια να αλληλεπιδρούν με τα προγράμματα, ενώ αυτά έχουν σταματήσει στα σημεία διακοπής. Μόλις επιτευχθεί ένα σημείο διακοπής, οι χρήστες μπορούν να αλληλεπιδρούν με μεταβλητές, πεδία ή μεθόδους που βρίσκονται στη μέθοδο που έχει ανασταλεί. Οι χρήστες μπορούν, επίσης, να επιλέξουν την ολοκλήρωση της μεθόδου, ή να περάσουν μέσα σ αυτήν, ελέγχοντας μια γραμμή κάθε φορά. Τέλος, οι τιμές τοπικών μεταβλητών και πεδίων μπορούν να παρακολουθούνται εντός ενός πίνακα, καθώς η κλήση της μεθόδου εξελίσσεται. Χρησιμοποιώντας τον Εντοπισμό Σφαλμάτων Για να χρησιμοποιήσετε τον εντοπισμό σφαλμάτων του DrJava, επιλέξτε την εντολή "Debug Mode" από το μενού Debugger. Ένας ενημερωτικός πίνακας θα εμφανιστεί μεταξύ του παραθύρου Ορισμών και του παραθύρου Αλληλεπίδρασης, και διάφορα στοιχεία του μενού στον Debugger θα ενεργοποιηθούν. Σημείωση στην τροποποίηση αρχείων: Όταν χρησιμοποιείτε το πρόγραμμα εντοπισμού σφαλμάτων, είναι σημαντικό να θυμάστε ότι τυχόν τροποποιήσεις σε πηγαία αρχεία δεν αντικατοπτρίζονται στη συμπεριφορά του παραθύρου Αλληλεπίδρασης ή στον Εντοπισμό Σφαλμάτων, μέχρι να κάνετε ξανά μεταγλώττιση στις κλάσεις. Αλλαγή στο περιεχόμενο ενός πηγαίου αρχείου ενώ τρέχει ο Εντοπισμός Σφαλμάτων δεν συνιστάται, αφού οι γραμμές που είναι τονισμένες από αυτόν μπορεί να μην αντιστοιχούν πλέον στις γραμμές του τρέχοντος αρχείου της κλάσης. Για να σας βοηθήσει να ενημερωθείτε περί αυτού του κινδύνου, το DrJava εμφανίζει ένα προειδοποιητικό μήνυμα στο παράθυρο Εντοπισμού Σφαλμάτων εάν το τρέχον έγγραφο είναι εκτός συγχρονισμού με το αρχείο της κλάσης του. Επειδή ο Εντοπισμός Σφαλμάτων εξαρτάται από τις κλάσεις που χρησιμοποιούνται στο παράθυρο Αλληλεπίδρασης, αυτός επαναφέρεται αυτόματα κάθε φορά που οποιαδήποτε αρχεία μεταγλωττίζονται ή επαναφέρονται (reset) στο παράθυρο Αλληλεπίδρασης. Σημεία Διακοπής (Breakpoints ) Μπορείτε να ορίσετε ένα σημείο διακοπής σχεδόν σε κάθε γραμμή του κώδικα σε ένα αρχείο πηγής στο παράθυρο Ορισμού, χρησιμοποιώντας είτε την εντολή "Toggle Breakpoint on Current Line" στο Debugger menu είτε την εντολή "Toggle Breakpoint" στο context menu (δεξί κλικ) του παραθύρου Ορισμών είτε πατώντας Ctrl + B. Όταν έχει οριστεί σημείο διακοπής, η γραμμή επισημαίνεται με κόκκινο χρώμα και εμφανίζεται μια καταχώρηση στον πίνακα "Breakpoints", η οποία μπορεί να δημιουργηθεί χρησιμοποιώντας την εντολή "Breakpoints" στο μενού Debugger ή πατώντας Ctrl + Shift + B. Όταν μια μέθοδος καλείται στο παράθυρο Αλληλεπίδρασης και η ροή ελέγχου φτάνει σε μια γραμμή του κώδικα στην οποία έχει οριστεί ένα σημείο διακοπής, το DrJava αναστέλλει την εκτέλεση του προγράμματος, τονίζει τη γραμμή σε έντονο μπλε και τυπώνει ένα μήνυμα στο παράθυρο Αλληλεπίδρασης. Στη συνέχεια εμφανίζεται μια καινούρια υπαγόρευση στο παράθυρο Αλληλεπίδρασης, επιτρέποντάς σας να αλληλεπιδράτε με το πρόγραμμα που έχει ανασταλεί μέχρι αυτό να συνεχίσει την εκτέλεση του. Τα σημεία διακοπής θεωρούνται μέρος ενός project και επομένως αποθηκεύονται και φορτώνονται από ένα αρχείο project. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [16]
Κατά τον καθορισμό των σημείων διακοπής, είναι σημαντικό να θυμάστε ότι μόνο γραμμές με εκτελέσιμο κώδικα μπορεί να χρησιμοποιηθούν. Οι κενές γραμμές και τα σχόλια δεν θα προκαλέσουν ένα σημείο διακοπής, ακόμη και αν η γραμμή επισημαίνεται με κόκκινο χρώμα. Panel Σημάτων Διακοπής Το panel των Σημάτων Δικαοπής μπορεί να εμφανιστεί με την εντολή "Breakpoints" στο Μενού Debugger ή πατώντας Ctrl + Shift + B. Αυτό παραθέτει όλα τα σημεία διακοπής που έχουν οριστεί στα τρέχοντα ανοιχτά έγγραφα, ταξινομημένα ανά έγγραφο και αριθμό γραμμής. Υπάρχουν πολλά κουμπιά στη δεξιά πλευρά του πίνακα που σας βοηθούν να διαχειριστείτε τα σημεία διακοπής: - Μπορείτε να επιλέξετε ένα ή περισσότερα σημεία διακοπής και πατήστε το κουμπί "Enable" ή "Disable" για να ενεργοποιήσετε ή να απενεργοποιήσετε τα επιλεγμένα σημεία διακοπής. Όταν ένα σημείο διακοπής είναι απενεργοποιημένο, παραμένει εγκατεστημένο, αλλά το πρόγραμμα δεν θα ανασταλεί όταν φτάσει σε αυτό. Αυτό είναι χρήσιμο εάν χρειαστείτε το σημείο διακοπής ξανά αργότερα, αλλά για τώρα θέλετε το πρόγραμμα να το αγνοήσει. - Εάν επιλέξετε ακριβώς ένα σημείο διακοπής, μπορείτε να χρησιμοποιήσετε το κουμπί "Go to" για να μεταβείτε στη θέση που σχετίζεται με το σημείο διακοπής. - Με το κουμπί "Remove", μπορείτε να αφαιρέσετε ένα ή περισσότερα σημεία διακοπής που έχετε επιλέξει. Μπορείτε επίσης να διαγράψετε ολόκληρη τη λίστα, χρησιμοποιώντας το κουμπί "Remove All". Αλληλεπίδραση σε Ένα Σημείο Διακοπής Όταν το DrJava φθάνει σε ένα σημείο διακοπής, κατά τη διάρκεια της κλήσης μίας μεθόδου, εμφανίζει μια νέα υπαγόρευση στο παράθυρο Αλληλεπίδρασης. Αυτός ο νέος διερμηνέας (interpreter) έχει το πλαίσιο του προγράμματος που έχει ανασταλεί, συμπεριλαμβανομένων όλων των μεταβλητών, των πεδίων (ακόμη και του "this"), και τις μεθόδους που βρίσκονται στο πεδίο της μεθόδου που έχει ανασταλεί. (Το ίδιο το κείμενο υπαγόρευσης περιέχει το όνομα του thread που έχει ανασταλεί). Μπορείτε να πληκτρολογήσετε το όνομα οποιασδήποτε μεταβλητής ή πεδίου για να δείτε την τιμή του ή να του ορίσετε μια νέα τιμή, ή μπορείτε να καλέσετε οποιαδήποτε μέθοδο στο πεδίο εφαρμογής ώστε να παρατηρήσετε τη συμπεριφορά του. Ωστόσο, υπάρχουσες γραμμές του κώδικα στο πρόγραμμα δεν μπορούν να αλλάξουν ή να παραλειφθούν και η λέξη-κλειδί "return" δεν είναι διαθέσιμη. Τυχόν αλλαγές που κάνετε σε μεταβλητές ή πεδία αντικατοπτρίζονται στο πρόγραμμα όταν αυτό εκτελείται, είτε βηματικά είτε εξολοκλήρου. Βηματική ή ολική εκτέλεση Αφότου το DrJava φθάσει σε ένα σημείο διακοπής, η μέθοδος που έχει κληθεί αναστέλλει τη λειτουργία της και διάφορες εντολές στο Debug Menu και Debug Panel είναι διαθέσιμες. Η επιλογή "Resume" επιτρέπει στην τρέχουσα μέθοδο να τελειώσει την εκτέλεση, τουλάχιστον μέχρις ότου φτάσουμε σε ένα άλλο σημείο διακοπής. Εάν οποιαδήποτε άλλα threads ανασταλούν κατά την εκτέλεση, το παράθυρο Αλληλεπίδρασης θα αλλάξει και θα παρουσιάσει το thread που αναστάλθηκε πιο πρόσφατα. Σε αντίθετη περίπτωση η αρχική σειρά αποκαθιστάται. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τις εντολές Step στο Debug menu ώστε να περάσετε μέσα από την εκτέλεση της μεθόδου, στο σημείο διακοπής, και να τρέξετε το πρόγραμμα μία γραμμή κάθε φορά. Κάθε φορά που ένα βήμα ολοκληρώνεται, το πρόγραμμα εντοπισμού σφαλμάτων υπογραμμίζει την επόμενη γραμμή του κώδικα που πρέπει να εκτελεστεί. Εάν ο κωδικός είναι σε άλλο αρχείο, το πρόγραμμα εντοπισμού σφαλμάτων θα ψάξει για το αρχείο και θα επιχειρήσει να το ανοίξει. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [17]
Step Into: Η εντολή Step Into θα περάσει στην εκτέλεση του προγράμματος, μέσα από την κλήση της μεθόδου που εμφανίζεται στον κώδικα, πιθανώς ανοίγοντας πρόσθετα αρχεία. Step Over: Με την εντολή Step Over δεν θα εισέλθει ο έλεγχος του προγράμματος μέσα στον κώδικα της μεθόδου, αλλά θα τη μεταχειριστεί ως μία ενιαία πράξη και θα την εκτελέσει εξολοκλήρου. Step Out: Η εντολή Step Out θα τερματίσει τη λειτουργία της τρέχουσας μεθόδου και θα προχωρήσει την εκτέλεση του προγράμματος στην επόμενη γραμμή κώδικα, από αυτήν της κλήσης της μεθόδου. Το Panel του Εντοπισμού Σφαλμάτων (Debug Panel) Το Debug Panel εμφανίζεται όταν το Debug Mode είναι ενεργοποιημένο, με πολλές ενημερωτικές καρτέλες και κουμπιά. Το DrJava εμφανίζει οθόνες με τα τρέχοντα πεδία και τις μεταβλητές με τις τιμές τους σε έναν πίνακα στην καρτέλα Watches. Η καρτέλα Stack εμφανίζει το τρέχον stack trace κάθε φορά που μια μέθοδος αναστέλλεται και η Threads tab δείχνει όλα τα τρέχοντα threads μαζί με την κατάσταση τους σε εκείνο το σημείο στο χρόνο. Παρακολουθώντας Πεδία και Μεταβλητές Μπορείτε να παρακολουθείτε τις τιμές των πεδίων κλάσεων και τοπικών μεταβλητών, εισάγοντας το όνομα του πεδίου ή της μεταβλητής σε μια σειρά στον πίνακα Watches. Κάθε φορά που μια μέθοδος διακόπτεται προσωρινά (π.χ. μετά από ένα breakpoint), εμφανίζεται η τρέχουσα τιμή του πεδίου ή της μεταβλητής (εάν υπάρχουν). Τα Watches μπορούν να αφαιρεθούν από τον πίνακα διαγράφοντας το όνομα και πατώντας το πλήκτρο Enter. Δεν μπορείτε να εισάγετε εκφράσεις που πρέπει να αξιολογηθούν στον πίνακα Watches. Για παράδειγμα, η εντολή "s.length" δεν είναι έγκυρη καταχώριση του πίνακα Watches. Πρέπει να πληκτρολογήστε τέτοιες εκφράσεις στο παράθυρο Αλληλεπίδρασης για να δείτε τις τιμές τους. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [18]
Κεφάλαιο 8. Δημιουργία Τεκμηριώσεων (documentation) με Χρήση του Javadoc Η τεκμηρίωση (documenting) του κώδικά σας είναι ζωτικής σημασίας για να βοηθήσει τους άλλους να τον καταλάβουν, ακόμη και για να υπενθυμίσει σε σας αργότερα πώς λειτουργούν τα δικά σας παλαιότερα προγράμματα. Δυστυχώς, είναι εύκολο για τα περισσότερα τέτοια αρχεία τεκμηρίωσης να γίνουν ξεπερασμένα όσο αλλάζει το πρόγραμμα. Για το λόγο αυτό, είναι χρήσιμο να γράψετε τεκμηριώσεις ως σχόλια στον ίδιο τον κώδικα σας, έτσι θα μπορούν εύκολα να ενημερωθούν με τις όποιες αλλαγές σε αυτόν. Το Javadoc είναι ένα εργαλείο τεκμηρίωσης το οποίο καθορίζει ένα πρότυπο για τέτοια σχόλια και το οποίο μπορεί να δημιουργήσει τα HTML αρχεία όπου θα μπορείτε να δείτε τo αρχείο τεκμηρίωσης που δημιουργήσατε από έναν web broswer. Μπορείτε να εκτελέσετε εύκολα to Javadoc πάνω από τα προγράμματά σας μέσα από to DrJava, χρησιμοποιώντας τις εντολές "Javadoc All Documents" και "Preview Javadoc for Current Document" στο μενού των Εργαλείων. Αυτές οι εντολές θα δημιουργήσουν Javadoc HTML αρχεία από τα σχόλια που έχετε γράψει και θα τα εμφανίσουν σε έναν browser. Γράφοντας Σχόλια σε Javadoc Σε γενικές γραμμές, τα σχόλια Javadoc είναι οποιαδήποτε σχόλια πολλών γραμμών ("/ **... * /"), που τοποθετούνται πριν από την κλάση, το πεδίο ή τις δηλώσεις μεθόδων. Θα πρέπει να αρχίζουν με ένα slash (/) και δύο αστερίσκους και μπορούν να περιλαμβάνουν ειδικές ετικέτες για να περιγράψουν χαρακτηριστικά, όπως παραμέτρους της μεθόδου ή τιμές επιστροφής αυτής. Τα αρχεία HTML που δημιουργούνται από Javadoc θα περιγράψουν κάθε πεδίο και μέθοδο μιας κλάσης, χρησιμοποιώντας τα σχόλια Javadoc στον ίδιο τον πηγαίο κώδικα. Παραδείγματα διαφορετικών σχολίων Javadoc αναφέρονται στη συνέχεια. Απλά Σχόλια Κανονικά σχόλια Javadoc μπορούν να τοποθετηθούν πριν από κάθε δήλωση κλάσης, πεδίου ή μεθόδου για να περιγράψουν την πρόθεση ή τα χαρακτηριστικά του. Για παράδειγμα, η ακόλουθη απλή κλάση Student έχει αρκετά σχόλια Javadoc. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [19]
Χρήση Ετικετών Οι ετικέτες (tags) μπορούν να χρησιμοποιηθούν στο τέλος κάθε σχολίου Javadoc ώστε να παρέχονται πιο δομημένες πληροφορίες σχετικά με τον κώδικα που περιγράφεται. Για παράδειγμα, τα περισσότερα σχόλια Javadoc για τις μεθόδους περιλαμβάνουν ετικέτες "@param" και "@return" κατά περίπτωση, για να περιγράψουν τις παραμέτρους της μεθόδου και την τιμή επιστροφής. Η ετικέτα "@param" πρέπει να ακολουθείται από το όνομα της παραμέτρου και στη συνέχεια από μια περιγραφή της παραμέτρου αυτής. Η ετικέτα "@return " ακολουθείται απλά από μια περιγραφή της τιμής επιστροφής. Τα παραδείγματα αυτών των ετικετών δίνονται παρακάτω. Άλλες κοινές ετικέτες περιλαμβάνουν "@throws e" (για να περιγράψει κάποια εξαίρεση (Exception) "e" που έρχεται από μια μέθοδο) και @see #foo " (για να παράσχει ένα σύνδεσμο σε ένα πεδίο ή μέθοδο που ονομάζεται "foo"). Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [20]
Κεφάλαιο 9. Το Πρώτο Πρόγραμμα στο DrJava Στη συνέχεια, θα δημιουργήσουμε το πρώτο μας πρόγραμμα στο DrJava. Πρόκειται για ένα απλό πρόγραμμα που θα εμφανίσει στην οθόνη έναν χαιρετισμό. Στο πρώτο μας βήμα, πρέπει να δημιουργήσουμε ένα project. Για το λόγο αυτό πατάμε στην επιλογή Project New και επιλέγουμε ένα όνομα για το project μας. Κατόπιν μας εμφανίζεται ένα παράθυρο με τις ιδιότητες του project, τις οποίες αποδεχόμαστε και προχωράμε. Τώρα είμαστε έτοιμοι να ξεκινήσουμε να γράφουμε στο νέο μας project. Επιλέγουμε το project μας, το οποίο είναι κενό αρχικά και πατάμε στο File New Java Class. Στο παράθυρο που ανοίγεται επιλέγουμε το όνομα της κλάσης. Αυτό είναι το όνομα που θα εμφανιστεί στον editor μας. Προσέξτε στην προηγούμενη εικόνα ότι έχουμε επιλέξει να συμπεριλαμβάνεται στην κλάση μας η μέθοδος main. Για να συμβαδίζει το όνομα στον editor με το όνομα του αρχείου πρέπει να πάμε να ονομάσουμε και το αρχείο με τον ίδιο τρόπο. Έτσι πατάμε δεξί κλικ πάνω στο αρχείο μας (προς το παρόν είναι Untitled) και επιλέγουμε Save File as και διαλέγουμε το ίδιο όνομα με αυτό που δώσαμε στην κλάση μας. Στην περίπτωση μας έχουμε ονομάσει την κλάση (και το αρχείο μας) Hello. Τον κώδικα του προγράμματος μας μπορούμε να τον δούμε στη συνέχεια. Περιλαμβάνει μέσα στη μέθοδο main τον κώδικα για την εκτύπωση ενός απλού μηνύματος στην οθόνη μας. Κώδικας πρώτου προγράμματος Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [21]
Στη συνέχεια, πρέπει να μεταγλωττίσουμε το πρόγραμμα μας. Από το μενού project επιλέγουμε Compile project και προσέχουμε στην καρτέλα Compiler Output αν θα μας εμφανιστεί κάποιο μήνυμα λάθους. Αν όλα πάνε καλά επιλέγουμε Run και τρέχουμε το πρόγραμμα μας. Θα πρέπει τότε στην καρτέλα Interactions να μας εμφανίσει το μήνυμα που του έχουμε ζητήσει, όπως φαίνεται και στο σχήμα που ακολουθεί. Εργαστήριο Αντικειμενοστραφούς προγραμματισμού [22]