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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

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

Κλάσεις και αντικείμενα #include <iostream.h<

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video

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

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

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

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

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:

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

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

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

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

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

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

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Tοπικές μεταβλητές To αντικείμενο this Accessor, Mutator μέθοδοι

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

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

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

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

Η βασική συνάρτηση προγράμματος main()

ΚΑΤΑΣΚΕΥΑΣΤΕΣ ΑΝΤΙΓΡΑΦΗΣ

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

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

HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012

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

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

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

4 Συλλογές Αντικειμένων

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Ηβασικήσυνάρτηση προγράμματος main()

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

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

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

(Διαφάνειες Νίκου Βιδάκη)

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

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

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

Τεχνικός Εφαρμογών Πληροφορικής

Ανάπτυξη και Σχεδίαση Λογισμικού

Wrapper Classes, Abstract Classes and Interfaces

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

Εισαγωγή στη γλώσσα προγραμματισμού C++14

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

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

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

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

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

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

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

ΘΠ06 Μεταγλωττιστές. Εργασία Εξαμήνου: Υλοποίηση ενός Μεταγλωττιστή για τη Γλώσσα Floop2009

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

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016


ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

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

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου

Transcript:

Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 2 Ανασκόπηση: Αντικείμενα Τα αντικείμενα (στιγμιότυπα) δημιουργούνται από τις κλάσεις Τα αντικείμενα έχουν μεθόδους οι οποίες μπορεί να κληθούν (εκτελεστούν) Τα αντικείμενα έχουν μια «κατάσταση» [state]; Περιέχουν δεδομένα Τα αντικείμενα μπορεί να δημιουργήσουν νέα αντικείμενα Ανασκόπηση: Μέθοδοι Ένα αντικείμενο μπορεί να καλέσει μια μέθοδο ενός αλλού αντικειμένου Οι μέθοδοι «έχουν επιπτώσεις»: είτε αλλάζουν την κατάσταση του αντικείμενου ή επιστρέφουν πληροφορίες Οι μέθοδοι μπορεί να έχουν παραμέτρους Οι παράμετροι έχουν τύπους Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 3 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 4 Ανασκόπηση: Κλάσεις Οι κλάσεις καθορίζουν την μορφή των αντικειμένων: προσδιορίζουν τις μεθόδους και τα πεδία δεδομένων Οι κλάσεις ορίζονται από πηγαίο κώδικα Java «Προγραμματισμός» είναι ο σχεδιασμός του πηγαίου κώδικα των κλάσεων Η ανατομία μίας κλάσης class όνομα-κλάσης [class-name] πεδία (δεδομένα στιγμιότυπου) [fields (instance data)] κατασκευαστές [constructor(s)] μέθοδοι [methods] Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 5 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 6

Μια κλάση class Timer private int hours; private int minutes; private int seconds; * Construct a timer object initialised to 0:00:00 public Timer() hours = 0; minutes = 0; seconds = 0; Το όνομα της κλάσης class Timer Σύμβαση: τα ονόματα των κλάσεων αρχίζουν από κεφαλαίο γράμμα * Return the current time of this timer. public String gettime() return hours + : + minutes + : + seconds; Το όνομα της κλάσης είναι ένας προσδιοριστής [identifier] Ενας προσδιοριστής Java: περιέχει μόνο γράμματα, ψηφία, και τους χαρακτήρες $ και _ [underscore] δεν αρχίζει από ψηφίο Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 7 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 8 Προσδιοριστές Πεδία έγκυροι: λανθασμένοι: private int hours; private int minutes; private int seconds; number x98 howmany NUMBER_OF_POINTS $yes$ _$$S_$_ number of points 99x birth.year ARRAY-SIZE Ένας προσδιοριστής Δήλωση πεδίων: μετατροπέας-προσπέλασης τύπος όνομα; private Οτύπος της τιμής που μπορεί να λάβει το πεδίο Σύμβαση: τα ονόματα πεδίων αρχίζουν με πεζό γράμμα Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 9 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 10 Πεδία: ένα παράδειγμα Αντικείμενο της κλάσης timer: hours minutes seconds Μέθοδοι Σχόλιο που αναφέρεται στη χρήση/λειτουργία της μεθόδου * σχόλιο σχετικό με τη μέθοδο * Returns the current time of this timer. public String gettime() return hours + : + minutes + : + seconds; Οτύπος της τιμής που επιστρέφει η μέθοδος μετατροπέας-προσπέλασης τύπος-αποτελέσματος όνομα (παράμετροι) σώμα [body] public για τις περισσότερες μεθόδους προσδιοριστής Υλοποίηση της μεθόδου Σύμβαση: τα ονόματα των μεθόδων αρχίζουν με πεζό γράμμα Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 11 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 12

Μέθοδοι : ένα παράδειγμα Επίδειξη: ανάπτυξη μια κλάσης Αντικείμενο της κλάσης timer: Κλάση Counter (μετρητής) gettime() gettime() 12:45:07 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 13 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 14 Κατασκευαστές (Constructors) Ονόματα πεδίων class Timer * Construct a timer object * initialised to 0:00:00 public Timer() hours = 0; minutes = 0; seconds = 0; Ο κατασκευαστής είναι μια ειδική μέθοδος που εκτελείται όταν δημιουργείται ένα αντικείμενο. Το όνομα της μεθόδου-κατασκευαστή είναι το ίδιο με το όνομα της κλάσης. Ένας κατασκευαστής δεν έχει τύποαποτελέσματος. Σκοπός του κατασκευαστή είναι η αρχικοποίηση του αντικειμένου σε μια έγκυρη κατάσταση. Τα ονόματα των πεδίων πρέπει να «έχουν νόημα» καλά: yearofbirth numberofseats totaltime άσχημα: yb s number Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 15 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 16 Μέθοδοι public String gettime() return hours + : + minutes + : + seconds; Υπογραφή [signature] Ο τύπος-αποτελέσματος της μεθόδου public String getname() Επιστρέφει κείμενο Δεν επιστρέφει τίποτε public int size() Επιστρέφει έναν αριθμό σώμα public void print() Το void είναι ένας ειδικός τύπος που υποδηλώνει ότι τίποτε δεν επιστρέφεται. Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 17 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 18

Παράμετροι public int add(int value) public void changenames(string firstname, String lastname) Το σώμα της μεθόδου public int add(int value) εντολή 1; εντολή 2; εντολή 3; εντολή 4; Η λίστα των παραμέτρων αποτελείται από ορισμούς παραμέτρων που χωρίζονται μεταξύ τους με κόμμα «,». Κάθε ορισμός παραμέτρου προσδιορίζει τον τύπο και το όνομα της παραμέτρου. Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 19 Το σώμα της μεθόδου αποτελείται από μια ακολουθία εντολών. Κάθε εντολή τερματίζεται με ένα ερωτηματικό «;». Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 20 Εντολές (statements) Καταχώρηση Οι εντολές εκτελούνται σειριακά όταν κληθεί η μέθοδος. Μια καταχώρηση καταχωρεί μια τιμή σε μια μεταβλητή. Παραδείγματα: int size; size 0 Τα είδη εντολών περιλαμβάνουν: - καταχώρηση [assignment] - εντολή επιστροφής αποτελεσμάτων (return) - κλήση μεθόδων numberofseats = 4; name = Homer ; year = newyear; size = 55; size size = 42; size 55 42 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 21 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 22 Η εντολή return Τελεστές (Operators) public String getname() return name; public int calculateinterest() return interest; Η εντολή return επιστρέφει μια τιμή. Η εντολή return τερματίζει την εκτέλεση της μεθόδου. Ο τύπος της επιστρεφόμενης τιμής πρέπει να είναι ίδιος με τον τύπο-αποτελέσματος που δηλώθηκε στην υπογραφή της μεθόδου. int timeinseconds; int timeinminutes; timeinseconds = timeinminutes * 60; String firstname; String lastname; String fullname; fullname = firstname + " " + lastname; result = (size + 1) * 55 / width; Στο δεξιό μέρος μίας καταχώρησης μπορούμε να χρησιμοποιήσουμε εκφράσεις [expressions]. Οι εκφράσεις μπορεί να είναι υπολογισμοί που κάνουν χρήση των τελεστών της Java. Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 23 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 24

Κατηγορίες μεθόδων Κατασκευαστές (Constructors) κατασκευαστής [constructor] μέθοδος προσπέλασης [accessor / selector (get)] Ένας κατασκευαστής δημιουργεί και αρχικοποιεί το αντικείμενο. μέθοδος μετάλλαξης [mutator (set)] Κάθε μέθοδος πρέπει να ανήκει σε μια (και μόνο μια) κατηγορία. Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 25 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 26 Μέθοδοι προσπέλασης (Accessors) Αναφέρονται και ως selector, get method. Μέθοδοι μετάλλαξης (Mutators) Αναφέρονται και ως "set method. Μέσω μιας μεθόδου προσπέλασης ανακτάται μέρος των δεδομένων ενός αντικειμένου. Μια μέθοδος μετάλλαξης αλλάζει την κατάσταση ενός αντικειμένου. Μια μέθοδος προσπέλασης δεν αλλάζει το αντικείμενο. Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 27 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 28 Σχόλια (Comments) * Return the name of this person. public String getname() // some tricky code here return name; Σύνταξη σχολίων: // comment σχόλιο μίας γραμμής /* comment comment σχόλιο πολλαπλών γραμμών comment comment σχολια μεθόδων και κλάσεων Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 29 Διαμόρφωση (Style) Οι οδηγίες διαμόρφωσης κειμένου (style guidelines) περιγράφουν τρόπους διάταξης και τεκμηρίωσης του πηγαίου κώδικα. Αποσκοπούν στο να κάνουν την κατανόηση του κώδικα ευκολότερη. Αφορούν: σχόλια διάταξη (ευθυγράμμιση κειμένου, «κενά») ονόματα μεταβλητών / κλάσεων / μεθόδων / Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 30

Οι υπολογιστές και οι χρήστες τους Το ερώτημα: Με ποιον τρόπο ένας υπολογιστής κατανοεί τα προγράμματα μας; Οι υπολογιστές χρησιμοποιούν τη γλώσσα μηχανής; δυαδικό κώδικα [binary code] Η Java είναι μια γλώσσα «υψηλού επιπέδου» (μια γλώσσα σχεδιασμένη για ανθρώπους) class Person? 00110011 10010110 00001101 CPU Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 31 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 32 Μεταγλώττιση (Compilation) Ιδεατός υπολογιστής (Virtual machine) Πηγαίος κώδικας μετάφραση Κώδικας μηχανής εκτέλεση Διερμηνέας java [interpreter] (virtual machine) Κώδικας java [bytecode] Μετάφραση Εκτέλεση υπολογιστής Πηγαίος κώδικας Κώδικας java [bytecode] (ανεξάρτητος μηχανής) υπολογιστής Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 33 Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 34