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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

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

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

ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ

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

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Θέματα Προγραμματισμού Η/Υ

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

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

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

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

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

Α. Ερωτήσεις Ανάπτυξης

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

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

Ηλεκτρονικοί Υπολογιστές

Βασικές Αρχές Προγραμματισμού

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

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

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

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

ΑΕΠΠ Ερωτήσεις θεωρίας

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

Θεωρία Προγραμματισμού

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

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

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

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

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

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

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

JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java

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

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

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Πληροφορική ΙΙ Ενότητα 1

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

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

Εισαγωγή στον δομημένο προγραμματισμό

Πληροφορική ΙΙ Θεματική Ενότητα 2

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

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

ΚΕΦΑΛΑΙΟ 6 Ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

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

Δημιουργία προγραμμάτων Java

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Transcript:

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη ακολουθία ενεργειών που περιγράφει την επίλυση κάποιου προβλήματος. Βασικά στοιχεία ενός αλγόριθμου: 1) Καθορισμός στόχου - περιορισμοί; - παραδοχές; (υποθέσεις) 2) Καταμερισμός σε λογικά βήματα - απαραίτητα inputs - σταθερές - user inputs - data από αρχείο - data από άλλο μέρος του προγράμματος 3) Επιλογή των outputs - Ποια; - Που; (οθόνη; αρχείο; εκτυπωτή; αλλού;) 4) Διαδικασίες για τη λύση του προβλήματος - Καταμερισμός σε υπο-προβλήματα / ενέργειες / εξισώσεις - Εφαρμογή βημάτων σε λογική σειρά Απαραίτητα χαρακτηριστικά ενός αλγόριθμου: o Πρέπει να περιέχει πεπερασμένο αριθμό βημάτων (ή χρόνο) o Πρέπει να είναι σαφώς ορισμένος (πληρότητα & ακρίβεια) o Πρέπει κάθε οδηγία, μεμονωμένα, να είναι απλή o Πρέπει να καλύπτει όλες τις δυνατές καταστάσεις Συνηθέστεροι τρόποι περιγραφής αλγορίθμων: i) ψευδοκώδικας (pseudocode) περιγραφικός τρόπος ii) διάγραμμα ροής (flow chart) σχηματικός τρόπος 1

Πρόγραμμα: Ακριβής διατύπωση ενός αλγορίθμου σε μια γλώσσα προγραμματισμού. Βήματα στην υπολογιστική επίλυση ενός προβλήματος: (ή αλλιώς: πώς συνδέονται όλα αυτά...) 1) Ανάλυση δεδομένων του προβλήματος 2) Μαθηματική διατύπωση του προβλήματος 3) Σχεδιασμός κατάλληλου αλγορίθμου (τα βήματα που αναφέρθηκαν πριν) 4) Ανάπτυξη προγράμματος (αλγόριθμος σε γλώσσα προγραμματισμού) 5) Εκτέλεση προγράμματος για συγκεκριμένα δεδομένα 6) Ερμηνεία αποτελεσμάτων Γλώσσες προγραμματισμού i) Γλώσσες υψηλού επιπέδου (Java, C, C++, Fortran, Pascal, Basic, κτλ.) ii) Γλώσσες χαμηλού επιπέδου (γλώσσα μηχανής (), assembly) Οι Η/Υ εκτελούν γλώσσα μηχανής (). : διαφορετική για κάθε τύπο επεξεργαστή εντολές = αλληλουχίες από bits Assembly (λίγο ανώτερο επίπεδο από ): διαφορετική για κάθε τύπο επεξεργαστή μνημονικά ονόματα αντί για bits o Οι γλώσσες υψηλού επιπέδου (Γ.Υ.Ε.) μετατρέπονται σε γλώσσα μηχανής με κατάλληλα προγράμματα: τους μεταγλωττιστές (compilers). Γ.Υ.Ε. compiler Οι γλώσσες υψηλού επιπέδου είναι ανεξάρτητες από τον τύπο επεξεργαστή, άρα ο ίδιος κώδικας ενός προγράμματος σε κάποια γλώσσα είναι ίδιος για κάθε Η/Υ. Όμως: ο μεταγλωττιστής κάποιας τέτοιας γλώσσας είναι διαφορετικός για κάθε τύπο επεξεργαστή. Άρα, ένα πρόγραμμα σε μια γλώσσα υψηλού επιπέδου x, μπορεί να είναι ίδιο για κάθε τύπο επεξεργαστή, όμως για να τρέξει χρειάζεται να μετατραπεί σε από τον αντίστοιχο μεταγλωττιστή της γλώσσας αυτής για τον συγκεκριμένο τύπο επεξεργαστή. 2

Σημείωση: Η μεταγλώττιση (compilation) ενός προγράμματος είναι συνήθως χρονοβόρα διαδικασία. Το πλεονέκτημα της JAVA: Έχει έναν μεταγλωττιστή (compiler) για όλους τους τύπους επεξεργαστών. Ο compiler αυτός όμως δεν παράγει, παράγει byte-code, μια για έναν υποθετικό υπολογιστή. Αυτός ο υποθετικός υπολογιστής (java virtual machine JVM) είναι στην ουσία ένας διερμηνέας (interpreter) που μεταφράζει εντολή προς εντολή το byte-code σε του συγκεκριμένου επεξεργαστή στον οποίο τρέχει. Το JVM είναι διαφορετικό για κάθε επεξεργαστή, όμως είναι πολύ πιο απλό από έναν μεταγλωττιστή. Άρα, μπορεί η Java να προσθέτει ένα επιπλέον βήμα στην όλη διαδικασία, όμως πετυχαίνει τη μέγιστη φορητότητα (portability), αφού χρειάζεται μόνο μία μεταγλώττιση (compilation) για να μπορεί να τρέξει σε οποιονδήποτε επεξεργαστή, ενώ η διερμηνεία είναι μια πολύ απλή διαδικασία. Π.χ., για να τρέξει ένα πρόγραμμα C σε τρεις υπολογιστές που βασίζονται σε διαφορετικές πλατφόρμες (διαφορετικό επεξεργαστή ή/και λειτουργικό σύστημα), ακολουθείται η εξής διαδικασία: Πρόγραμμα C PC/Win Mac W/S-Unix Compiler Compiler Compiler compilation compilation compilation exe exe exe Αντίστοιχα, για ένα πρόγραμμα JAVA η διαδικασία είναι η ακόλουθη: 3

Πρόγραμμα JAVA Compiler compilation Byte-code PC/Win Mac W/S-Unix JVM JVM JVM Φαίνεται λοιπόν ότι, παρόλο που η JAVA προσθέτει ένα επιπλέον βήμα στην όλη διαδικασία, καταφέρνει να πραγματοποιεί ένα μόνο compilation του προγράμματος (που είναι η «επίπονη» διαδικασία, γι αυτό και φαίνεται στα σχήματα με μεγάλο βέλος), έναντι ενός compilation για κάθε υπολογιστή που απαιτεί η C. Αυτός είναι ο βασικός λόγος που η JAVA χρησιμοποιήθηκε και επικράτησε στο Internet. Βασικά χαρακτηριστικά της JAVA: 1) Φορητότητα (portability): εκτέλεση μεταγλωττισμένου (compiled) κώδικα ανεξαρτήτως πλατφόρμας ( Internet) 2) Αντικειμενοστραφής αλλά απλούστερη της C++ 3) Μεγάλη βιβλιοθήκη έτοιμων κλάσεων 4) Χρησιμοποιεί στοιχεία της C 5) Ασφαλής 6) Κατανεμημένη (συντονισμός εκτέλεσης κώδικα διαφορετικών Η/Υ) 4

Ανάπτυξη εφαρμογής σε JAVA: 1) Κώδικας JAVA κλάσεις αρχεία. Π.χ., Class1.java 2) Compiler (μεταγλωττιστής) javac Class1.java Class1.class (byte-code) 3) Interpreter (διερμηνέας) (JVM) java Class1 εκτέλεση του αρχείου Class1.class (αφού γίνει αυτόματα η διερμηνεία του από byte-code σε φυσικά) Μια εφαρμογή Java μπορεί να είναι είτε πρόγραμμα (οπότε τρέχει καλώντας τον JVM) είτε applet, δηλαδή ειδικό πρόγραμμα για το internet. Στην περίπτωση που μια εφαρμογή είναι applet, τρέχει είτε μέσω ενός web browser (π.χ. firefox, IE, κτλ.) είτε μέσω του appletviewer. Γενική μορφή ενός προγράμματος Java: Κλάση υποστήριξης Αντικείμενο Κλάση υποστήριξης Αντικείμενο Κλάση εφαρμογής Κλάση υποστήριξης Αντικείμενο 5

Τα στοιχεία ενός προγράμματος Java: ΠΡΟΓΡΑΜΜΑ Αποτελείται από Κλάσεις Αποτελούνται από Μέλη (members) είναι είναι πεδία μέθοδοι είναι είναι μεταβλητές ορίζονται με αντικείμενα ορίζονται με τύπο (type) κλάση (λεπτομέρειες για κάθε στοιχείο ξεχωριστά, θα δούμε σε επόμενες παραδόσεις). 6

Απλή εφαρμογή: (Μία μόνο κλάση κλάση εφαρμογής) public class HelloWorld { public static void main (String [ ] args) { System.out.println( Hello world ); } } save: HelloWorld.java C:\> javac HelloWorld.java C:\> java HelloWorld (σε αυτό το σημείο το πρόγραμμα θα τρέξει και θα εκτυπώσει στην οθόνη το μήνυμα: Hello world. Αντικειμενοστραφής προγραμματισμός (object-oriented programming) Μεθοδολογία προγραμματισμού όπου ένα πρόγραμμα αποτελείται από αντικείμενα που αλληλεπιδρούν μεταξύ τους. Τα αντικείμενα βασίζονται σε συγκεκριμένες κλάσεις. Βασικές αρχές σχεδίασης του αντικειμενοστραφούς προγραμματισμού: - Ενθυλάκωση (encapsulation) - Πολυμορφισμός (polymorphism) - Κληρονομικότητα (inheritance) Κάποια γενικά στοιχεία για τις αρχές αυτές (οι οποίες θα καλυφθούν πρακτικά στην «Πληροφορική ΙΙ»): Ενθυλάκωση: Το να είναι ορατά μόνο τα απολύτως απαραίτητα στοιχεία ενός προγράμματος ώστε να απλοποιείται η εργασία του προγραμματιστή που χρησιμοποιεί το πρόγραμμα για να το μετατρέψει ή να το βελτιώσει ή να το επεκτείνει. Οι λεπτομέρειες του προγράμματος μένουν κρυμμένες. Πολυμορφισμός: Το να μπορεί μία μέθοδος (ένα όνομα μεθόδου) να προκαλέσει διαφορετικές λειτουργίες, ανάλογα με το είδος του αντικειμένου που πραγματοποιεί τη λειτουργία. Κληρονομικότητα: Το να μπορούν οι ιδιότητες μιας κλάσης να ισχύουν και σε μία ολόκληρη ομάδα άλλων κλάσεων. Έτσι, οι ιδιότητες αυτές μπορούν να οριστούν μόνο μία φορά. 7

Σφάλματα προγραμματισμού i) Συντακτικό σφάλμα (syntax error) κατά το compilation ii) iii) Σφάλμα κατά την εκτέλεση (-time error) περνάει το compilation αλλά το τρέξιμο του προγράμματος σταματάει. Λογικό σφάλμα (logic error) το πρόγραμμα τρέχει αλλά το αποτέλεσμα είναι λάθος Δυσκολία εντοπισμού σφαλμάτων (συνήθως): i < ii < iii Διαδικασία εντοπισμού και επίλυσης σφαλμάτων: debugging Διαδικασία ελέγχου κάποιων συγκεκριμένων σφαλμάτων (εξαιρέσεων): χειρισμός εξαιρέσεων (exceptions handling) «Πληροφορική ΙΙ» Τέλος 1 ου κεφαλαίου 8