Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Java Syntax and Style.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Advertisements

Τύποι δεδομένων και τελεστές,
Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * *********************************************
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 3: Υλοποίηση μεθόδων.
Γλώσσα Προγραμματισμού
ΜΑΘ-3122/106 Προγραμματισμός
Εντολες Επιλογης (Selection)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Αντικείμενα, Κλάσεις και Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Methods, Constructors and Field.
Εισαγωγή Ειδικά Θέματα Μεταγγλωτιστών Χειμερινό Εξάμηνο / Κατασκευή compiler για την γλώσσα Minijava.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) OOP Concepts and Object-Oriented Design.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Java Classes, Objects, και Events.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Data Types, Variables, and Arithmetic.
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java.
Κωδικός Θ: ΤΠ4003, Κωδικός Ε: ΤΠ4103 (ΜΕΥ/Υ) Ώρες (Θ - ΑΠ - Ε): Προαπαιτούμενα: ΤΠ2003,2103.
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στον Προγ/μό Η/Υ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Βασικές έννοιες Αντικειμενοστραφούς Προγραμματισμού ΙΙ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Κλάσεις και αντικείμενα
Βασικές έννοιες Αντικειμενοστραφούς Προγραμματισμού ΙΙ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Εισαγωγή στη Java (Μέρος Α’)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
Τύποι δεδομένων και τελεστές,
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Java Syntax and Style

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-2 Στόχοι αυτής της διάλεξης: l Μαθαίνουμε να ξεχωρίζουμε το ζητούμενο (required) syntax από το συμβατικό (conventional) style l Μαθαίνουμε πότε να χρησιμοποιούμε σχόλια (comments) και πώς να τα κάνουμε mark l Ανασκόπηση δεσμευμένων λέξεων (reserved words) και standard names l Μαθαίνουμε κατάλληλα style για ονοματολογία classes, methods, και variables l Μαθαίνουμε που είναι καλό να αφήνουμε space έτσι ώστε να γράφουμε ευανάγνωστο κώδικα

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-3 Σχόλια (Comments) l Σχόλια είναι σημειώσεις σε φυσική γλώσσα και όχι source code. l Τα Comments χρησιμοποιούνται για να: –Τεκμηριώνουμε: τον σκοπό και τους στόχους του προγράμματος, τον author, ιστορικά στοιχεία για τις αναθεωρημένες εκδώσεις του code (revision history), copyright notices, κτλ. –Περιγράφουμε: fields, constructors, και methods –Την επεξήγηση μη καθαρών σημείων του code –Προσωρινός σχολιασμός μέρους του code, σαν υπενθύμιση για μελλοντική χρήση

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-4 Μορφές Σχολίων (Formats for Comments) l A “block” comment γράφετε ανάμεσα στα σύμβολα /* και */. Για παράδειγμα: /* Exercise 5-2 for Java Methods Author: Miss Brace Date: 3/5/2010 Rev. 1.0 */ l Ένα single-line σχόλιο γράφεται μετά από το σύμβολο // μέχρι το τέλος της γραμμής. Για παράδειγμα: wt * = ; // Convert to kilograms

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-5 Σχόλια Τεκμηρίωσης (Documentation Comments) l Μπορούμε να χρησιμοποιήσουμε το special utility program javadoc για να παράξουμε αυτόματα τεκμηρίωση του source code μας σε HTML format. l Τέτοιας μορφής σχόλια πρέπει να προηγούνται των: classes, methods, ή fields l Μπορούν να χρησιμοποιηθούν special javadoc – περιγράφει τις παραμέτρους μιας μεθόδου - περιγράφει την τιμή που επιστρέφονται από μια μέθοδο (method’s return value)

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-6 javadoc Comments (συνέχ.) /** * Returns total sales from all vendors; * sets totalSales * to 0. * total amount of sales from all vendors */ /** δείχνει ένα javadoc comment Μπορεί να χρησιμοποιεί HTML tags Common style

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-7 Κρατημένες λέξεις (Reserved Words) l Στην Java ένας αριθμός από λέξεις είναι δεσμευμένες για ιδικούς σκοπούς (reserved for a special purpose). l Reserved words γράφονται με μικρά γράμματα ΜΟΝΟ (lowercase letters). l Reserved words είναι ανάμεσα σε άλλες: –primitive data types: int, double, char, boolean, etc. –storage modifiers: public, protected, private, static, final, etc. –control statements: if, else, switch, while, for, etc. –built-in constants: true, false, null l Συνολικά υπάρχουν 50 reserved words.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-8 Ονόματα που ορίζονται από τον προγραμματιστή (Programmer-Defined Names) l Πέραν των reserved words, η Java χρησιμοποιεί standard names για library packages και classes: String, Graphics, javax.swing, JApplet, JButton, ActionListener, java.awt l Ο προγραμματιστής δίνει ονόματα στις δικές του: classes, methods, fields, και variables.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-9 Names (συνέχ.) l Syntax: ένα όνομα (name) μπορεί να περιλαμβάνει: –Κεφαλαία και μικρά γράμματα –Δεκαδικά ψηφία –underscore characters l Syntax: ένα όνομα ΔΕΝ μπορεί να ξεκινά με δεκαδικό ψηφίο. l Style: τα ονόματα είναι καλό να έχουν νόημα για να είναι πιο εύκολη η ανάγνωση και η κατανόηση του coded.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-10 Names (συνέχ.) l Οι προγραμματιστές ακολουθούν αυστηρές συμβάσεις (strict style conventions) για τον τρόπο που γράφουν το source code. l Style: τα ονόματα των classes αρχίζουν με κεφαλαίο γράμμα, επόμενες λέξεις στο όνομα επίσης αρχίζουν με κεφαλαίο γράμμα. Παράδειγμα: public class FallingCube l Style: τα ονόματα των methods, fields, και variables αρχίζουν με μικρό γράμμα, επόμενες λέξεις στο όνομα αρχίζουν με κεφαλαίο γράμμα. Παράδειγμα private final int delay = 30; public void dropCube()

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-11 Names (συνέχ.) l Τα ονόματα των Methods συχνά ακούγονται σαν ρήμα. Παραδείγματα: setBackground, getText, dropCube, start l Τα ονόματα των Field είναι σαν ουσιαστικά. Παραδείγματα: cube, delay, button, whiteboard l Οι σταθερές (Constants) συχνά γράφονται μόνο με κεφαλαία γράμματα. Παραδείγματα: PI, CUBESIZE l Δεν υπάρχει πρόβλημα να χρησιμοποιούμε σύντομα ονόματα για local variables: i, k, x, y, str

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-12 Syntax έναντι Style l Το Syntax είναι ΜΕΡΟΣ της γλώσσας και ελέγχετε από τον compiler. l Το Style είναι μια σύμβαση ευρέως αποδεχτή από τους επαγγελματίες που ασχολούνται με την ανάπτυξη software. l Ο βασικός στόχος του style είναι για να μπορούμε πιο εύκολα να κατανοήσουμε το code. Βαλτώνει το readability του προγράμματος. Το κάνει ευανάγνωστο.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-13 Syntax l Ο compiler εντοπίζει syntax errors και παράγει error messages. l Το κείμενο που γράφεται μέσα σε σχόλια (comments) και literal strings που γράφονται ανάμεσα σε double quotes εξαιρούνται από τον συντακτικό έλεγχο (excluded from syntax checking). l Πριν κάνετε compiling το πρόγραμμα σας, διαβάστε το code προσεκτικά και ελέγξτε αν υπάρχουν συντακτικά ή λογικά λάθη.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-14 Syntax (συνέχ.) l Δώστε σημασία και ελέγξτε για τα ακόλουθα: –matching braces { }, parentheses ( ), and brackets [ ] –Έλλειψη και πλεονασμό (missing and extraneous) από semicolons –Σωστή χρήση των τελεστών +, -, =, <, <=, ==, ++, &&, etc. –Σωστά γραμμένες οι reserved words, library names και ονόματα ορισμένα από τον προγραμματιστή

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-15 Syntax (συνέχ.) l Συχνά συντακτικά λάθη (syntax errors): Missing closing brace Public static int abs (int x) { If (x < 0); { x = - x } return x; public static int sign (int x)... Extraneous semicolon Spelling (p  P, if  If) Missing semicolon

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-16 Style l Τοποθετήστε κώδικα σε ξεχωριστές γραμμές, προσθέτετε άδειες γραμμές για να ξεχωρίσετε κομμάτια του code. l Χρησιμοποιήστε σχόλια. l Γράφετε πιο μέσα blocks κώδικα που είναι γραμμένος μέσα σε braces.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-17 Style (συνέχ.) public boolean moveDown(){if (cubeY<6*cubeX) {cubeY+=yStep; return true;}else return false;} public boolean moveDown() { if (cubeY < 6 * cubeX) { cubeY += yStep; return true; } else { return false; } Πριν:Μετά: Ο Compiles δεν βρίσκει κανένα λάθος

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-18 Style (συνέχ.) public void fill (char ch) { int rows = grid.length, cols = grid[0].length; int r, c; for (r = 0; r < rows; r++) { for (c = 0; c < cols; c++) { grid[r][c] = ch; } Add blank lines for readability Add spaces around operators and after semicolons

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-19 Blocks, Indentation l Ένας Java code συνίσταται από πολλούς ορισμούς (declarations) και control statements. l Declarations περιγράφουν objects και methods. l Control statement περιγράφουν ενέργειες (actions). l Declarations και control statements τελειώνουν με semicolon. l Δεν χρησιμοποιούμε semicolon μετά από closing brace (εξαίρεση array declarations).

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-20 l Braces χωρίζουν το code σε φωλιασμένα (nested) blocks. l Ένα block ανάμεσα σε braces είναι ένας αριθμός από statements που δημιουργούν (ορίζουν) ένα compound statement. l Statements μέσα σε ένα block γράφονται δυο spaces ή ένα tab πιο μέσα από τα braces. Blocks, Indentation (συνέχ.)

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-21 Blocks, Indentation (συνέχ.) public void fill (char ch) { int rows = grid.length, cols = grid[0].length; int r, c; for (r = 0; r < rows; r++) { for (c = 0; c < cols; c++) { grid[r][c] = ch; }