Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr
Εργαστήριο 3 Java Classes Java Objects Java Fiel Java Metho Java Access Control Modifiers Constructors this Keyword Java Mutator Metho Java Accessor Metho Plain Old Java Object
Java Classes & Objects Η Java ως αντικειµενοστρεφής γλώσσα προγραµµατισµού ακολουθεί το µοντέλο ανάπτυξης µε χρήση κλάσεων. Μια Java class (κλάση) είναι ένα σύνολο από κανόνες που ορίζουν τη συµπεριφορά των Java objects (αντικειµένων). Ένα αντικείµενο αποτελεί ένα στιγµιότυπο µιας κλάσης.
Java Classes Παράδειγµα δηµιουργίας Java Class: (Eclipse: Project! New! Class! Dog
Java Objects Παράδειγµα δηµιουργίας Java Object:
Java Fiel Παράδειγµα Δηµιουργίας fiel (πεδία/ιδιότητες) σε κλάση:
Java Fiel Παράδειγµα Χρήσης Java fiel:
Java Metho Παράδειγµα δηµιουργίας Java Method:
Java Fiel & Metho Παράδειγµα δηµιουργίας Java Method: Τα Fiel είναι προσβάσιµα (scope) από όλες τις µεθόδους της συγκεκριµένης κλάσης. Τα ορίσµατα των µεθόδων είναι προσβάσιµα µόνο µέσα στη µέθοδο που ορίζονται. Οι µέθοδοι µπορεί να είναι οποιουδήποτε τύπου δεδοµένων και Object ή void. Οι void µέθοδοι δεν επιστρέφουν τιµή. Fiel (Πεδία) Metho (Μέθοδοι)
Objects Classes, Fiel & Metho Παράδειγµα δηµιουργίας αντικειµένων:
Πρόσβαση σε Members µιας Κλάσης Η γλώσσα Java παρέχει ορισµένους τελεστές πρόσβασης (access modifiers) για τις κλάσεις, τα πεδία, τις µεθόδους και τους κατασκευαστές που δηµιουργούµε: <default>: Ορατό µόνο στις κλάσεις που βρίσκονται στον ίδιο φάκελο. private: Ορατό µόνο µέσα στην κλάση που ορίζεται. public: Ορατό από οποιαδήποτε κλάση. protected: Ορατό µόνο στην κλάση που ορίζεται και στις κλάσεις που κληρονοµούν από αυτή [Lab 4].
Java Access Control Modifiers Παράδειγµα default access modifiers:
Java Access Control Modifiers Παράδειγµα public access modifiers:
Java Access Control Modifiers Παράδειγµα private access modifiers: Ta fiel και οι μέθοδοι δεν είναι προσβάσιμα από τη main!!!
Constructors Η Java µας δίνει τη δυνατότητα αρχικοποίησης των τιµών των fiel µε τη χρήση των constructors (κατασκευαστές). Ένας Java constructor, ορίζεται χρησιµοποιώντας ως όνοµα µεθόδου, το όνοµα της κλάσης: Αν δεν οριστεί από τον προγραµµατιστή κάποιος constructor, τότε η Java ορίζει από µόνη της τον παραπάνω ως default constructor.
Constructors Vs Metho Java Constructor Χρησιµοποιείται για την αρχικοποίηση ενός αντικειµένου. Δεν επιστρέφει ποτέ τιµή, ούτε ορίζεται ως void. Η εκτέλεσή του καλείται έµµεσα κατά τη δηµιουργία του αντικειµένου. Δηµιουργείται default constructor, αν δεν έχει οριστεί από τον προγραµµατιστή Έχει υποχρεωτικά το ίδιο όνοµα µε το όνοµα της κλάσης. Java Method Χρησιµοποιείται για την υλοποίηση της συµπεριφοράς ενός αντικειµένου. Πρέπει να ορίζει τύπο επιστροφής (void, int, double, String κλπ). Η εκτέλεσή του καλείται ρητά από τον προγραµµατιστή. Δε δηµιουργείται αυτόµατα σε καµία περίπτωση. Συνήθως δεν έχει το ίδιο όνοµα µε το όνοµα της κλάσης.
Constructors Παράδειγµα constructor:
Constructors Παράδειγµα δηµιουργίας constructor µε παραµέτρους:
Τελεστής this Ο τελεστής this µπορεί να χρησιµοποιηθεί στα metho ενός class για την αναφορά στο τρέχον object του class (this => current object). Ο τελεστής this είναι χρήσιµος όταν θέλουµε να αναφερθούµε σε ένα variable µε ίδιο όνοµα και διαφορετικό scope.
Constructors Παράδειγµα δηµιουργίας constructor µε την this:
Java Accessor Metho Παράδειγµα Αντικειµένου µε Private Fiel και Public Accessor Metho
Java Mutator Metho Και αν θέλω να αλλάξω τιµές σε κάποιο πεδίο του αντικειµένου?
Java Mutator Metho Αντικειµένου µε Private Fiel, Public Accessor Metho και Public Mutator Metho = Plain Old Java Object:
Plain Old Java Object "We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it's caught on very nicely. Martin Fowler, Rebecca Parsons and Josh MacKenzie