Προγραµµατισµό. Ηγλώσσααντικειµενοστραφούς. Ορίζοντας κλάσεις I. Εισαγωγικά
|
|
- Πύρρος Βιτάλη
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 3η: 21/03/2007 & 22/03/ Ορίζοντας κλάσεις I 2 Εισαγωγικά Οι κλάσεις είναι το πιο σηµαντικό χαρακτηριστικό µιας γλώσσας που υποστηρίζει τον Αντικειµενοστραφή Προγραµµατισµό Οπρογραµµατισµός στη Java συνίσταται στον ορισµό ενός αριθµού κλάσεων Κάθε πρόγραµµαείναιµια κλάση Όλοτοβοηθητικόλογισµικό αποτελείται από κλάσεις Όλοι οι τύποι που ορίζονται από τον προγραµµατιστή είναι κλάσεις Οι κλάσεις είναι κεντρική έννοια στη Java 3 1
2 Ορισµοί κλάσεων Γνωρίζουµεήδηπώςναχρησιµοποιούµε κλάσεις καθώς και τα αντικείµενα που δηµιουργούνται από αυτές, και πώς να ενεργοποιούµετιςµεθόδους τους Για παράδειγµα, έχουµε ήδηχρησιµοποιήσει τις προκαθορισµένες κλάσεις String και Scanner Τώρα θα µάθουµε πώς να ορίζουµε τις δικές µας κλάσεις και τις µεθόδους τους, και πώς να δηµιουργούµε αντικείµενα από αυτές 4 Μια κλάση είναι ένας τύπος Μια κλάση είναι ένας ειδικός τύπος δεδοµένων ορισµένος από τον προγραµµατιστή, και παρέχεται η δυνατότητα να ορίζουµε µεταβλητές αυτού του τύπου Ητιµή µιαςκλάσηςείναιένααντικείµενο ή στιγµιότυπο (instance) της κλάσης Εάν A είναι µια κλάση, τότε οι φράσεις "bla is of type A," "bla is an object of the class A," και "bla is an instance of the class A" σηµαίνουν το ίδιο πράγµα Μια κλάση προσδιορίζει τους τύπους των δεδοµένων που µπορείναπεριέχειένα αντικείµενο, καθώς και τις ενέργειες που µπορεί να εκτελέσει 5 Τιµές primitive τύπων vs. Τιµές τύπου κλάσης Ένας primitive τύπος είναι ένα απλό κοµµάτι δεδοµένων Μια τιµήτύπουκλάσηςήαντικείµενο µπορεί να περιέχει περισσότερα από ένα κοµµάτια απλών δεδοµένων, καθώς επίσης και ενέργειες που αποκαλούνται µέθοδοι (methods) Όλα τα αντικείµενα µιαςκλάσηςέχουντιςίδιεςµεθόδους Όλα τα αντικείµενα µιαςκλάσηςέχουνταίδιακοµµάτια δεδοµένων (δηλ., όνοµα, τύπο, και αριθµό) Για ένα δεδοµένο αντικείµενο, κάθε κοµµάτι δεδοµένων µπορεί να κρατά µια διαφορετική τιµή 6 2
3 Τα περιεχόµενα του ορισµού µιας κλάσης Οορισµός µιαςκλάσηςκαθορίζειταδεδοµένα και τις µεθόδους που θα έχουν όλα τα αντικείµενά της Αυτά τα δεδοµένα και οι µέθοδοι αποκαλούνται συχνά µέλη (members) του αντικειµένου Τα δεδοµένα αποκαλούνται πεδία (fields) ή µεταβλητές στιγµιότυπου (instance variables) ΟΙ δηλώσεις των instance variable καιοιορισµοί των µεθόδων τοποθετούνται χωρίς ιδιαίτερη διάταξη (σειρά) µέσα στον ορισµό της κλάσης 7 Ο τελεστής new Ένα αντικείµενο µιαςκλάσηςονοµατίζεται ή δηλώνεται µε µια µεταβλητή του τύπου της κλάσης: ClassName classvar; Οτελεστήςnew πρέπει κατόπιν να χρησιµοποιηθεί για να δηµιουργήσουµετοαντικείµενο και να συσχετίσουµε µε αυτό το όνοµα τηςµεταβλητής: classvar = new ClassName(); Αυτά µπορούν να συνδυαστούν ως εξής: ClassName classvar = new ClassName(); 8 Instance variables και methods Οι instance variables µπορούν να οριστούν όπωςσταακόλουθαδυοπαραδείγµατα Παρατηρήστε τον modifier public (προς το παρόν): public String instancevar1; public int instancevar2; Γιανααναφερθούµε σεµια instance variable, τοποθετούµε µπροστά της το όνοµατου αντικειµένου ως εξής: objectname.instancevar1 objectname.instancevar2 9 3
4 Instance variables και methods Οι ορισµοί των µεθόδων διαιρούνται σε δυο τµήµατα: την κεφαλίδα (heading) και το σώµα της µεθόδου (method body): public void mymethod() Heading { code to perform some action Body and/or compute a value } Οι µέθοδοι ενεργοποιούνται χρησιµοποιώντας το όνοµα του καλούντος αντικειµένου και το όνοµατης µεθόδου ως εξής: classvar.mymethod(); Ηενεργοποίησηµιας µεθόδου είναι ισοδύναµη µε την εκτέλεση του σώµατος της µεθόδου 10 Ονόµατα αρχείων και θέσεις Υπενθύµιση: ένα αρχείο Java πρέπει να έχει το ίδιο όνοµα όπωςτοόνοµα της κλάσης που περιέχει και να έχει επέκταση αρχείου.java Για παράδειγµα, µια κλάση µε όνοµα MyClass πρέπει να βρίσκεται στο αρχείο µε όνοµα MyClass.java Προς το παρόν, το πρόγραµµά µας και όλες οι κλάσεις που θα χρησιµοποιεί θα βρίσκονται στον ίδιο φάκελο 11 Περισσότερα για τις µεθόδους Υπάρχουν δυο είδη µεθόδων: Μέθοδοι που υπολογίζουν και επιστρέφουν µια τιµή Μέθοδοι που εκτελούν µια ενέργεια Αυτό το είδος µεθόδου δεν επιστρέφει τιµή και αποκαλείται void µέθοδος Κάθε τύπος µεθόδου διαφέρει ελαφρά στο πώς δηλώνεται καθώς και πώς (συνήθως) ενεργοποιείται 12 4
5 Περισσότερα για τις µεθόδους Μια µέθοδος που επιστρέφει µια τιµή πρέπει να καθορίζει τον τύπο της επιστρεφόµενης τιµής στην κεφαλίδα της (heading): public typereturned methodname(paramlist) Μια µέθοδος void χρησιµοποιεί την keyword void στην κεφαλίδα της για να δείξει ότι δεν επιστρέφει κάποια τιµή: public void methodname(paramlist) 13 Η main είναι µια µέθοδος void Ένα πρόγραµµα στηjava είναι απλά µια κλάση που έχει τη µέθοδο main Όταν δίνουµε µια εντολή εκτέλεσης ενός Java προγράµµατος, το run-time σύστηµα ενεργοποιεί τη µέθοδο main Σηµειώστε ότι η main είναι µια µέθοδος void, as που σηµειώνεται στην κεφαλίδα της: public static void main(string[] args) 14 ηλώσεις return Το σώµα και των δυο τύπων των µεθόδων περιέχει µια λίστα δηλώσεων σε ζεύγος άγκιστρων public <void or typereturned> mymethod() { declarations Body statements } 15 5
6 ηλώσεις return Το σώµα µιας µεθόδου που επιστρέφει µια τιµή πρέπει επίσης να περιέχει µια ή περισσότερες δηλώσεις return Μια δήλωση return καθορίζει την τιµήπου επιστρέφεται και τερµατίζει την εκτέλεση της µεθόδου: return Expression; Η Expression µπορεί να είναι µια οποιαδήποτε έκφραση που αποτιµάται σε κάτι µε ίδιο τύπο µε αυτόν που καθορίζεται στην κεφαλίδα της µεθόδου 16 ηλώσεις return Μια µέθοδος void δεν χρειάζεται να περιέχει µια δήλωση return, εκτός και εάν υπάρχει µια κατάσταση που απαιτεί τον τερµατισµό τηςµεθόδου πριν εκτελεστεί ολόκληρο το σώµα της Στο πλαίσιο αυτό, αφού δεν επιστρέφεται κάποια τιµή, µια δήλωση return χρησιµοποιείται χωρίς κάποια έκφραση: return; 17 Ορισµοί µεθόδων Μια ενεργοποίηση µιας µεθόδου που επιστρέφει κάποια τιµή µπορεί να χρησιµοποιηθεί ως έκφραση οπουδήποτε µπορεί να χρησιµοποιηθεί µια τιµήτουtypereturned: typereturned trvariable; trvariable = objectname.methodname(); Μια ενεργοποίηση µιας µεθόδου void είναι απλά µια δήλωση: objectname.methodname(); 18 6
7 Οποιαδήποτε µέθοδος µπορεί να χρησιµοποιηθεί ως µέθοδος void Μια µέθοδος που επιστρέφει µια τιµή µπορεί επίσης να εκτελεί µια ενέργεια Εάν επιθυµούµε απλώς την ενέργεια, αλλά δεν χρειαζόµαστε την επιστρεφόµενη τιµή, µπορούµε να ενεργοποιήσουµε τηµέθοδο ως να ήταν µια µέθοδος void, και η επιστρεφόµενη τιµή θα απορριφθεί: objectname.returnedvaluemethod(); 19 Τοπικές µεταβλητές Μια µεταβλητή που δηλώνεται µέσα σε µια µέθοδο αποκαλείται τοπική µεταβλητή (local variable) Όλες οι µεταβλητές που δηλώνονται στη main είναι τοπικές µεταβλητές Όλες οι παράµετροι των µεθόδων είναι τοπικές µεταβλητές Εάν δυο µέθοδοι έχουν µια τοπική µεταβλητή µετοίδιο όνοµα, οι δυο µεταβλητές είναι εντελώς ξεχωριστές µεταβλητές 20 Καθολικές µεταβλητές Μερικέςγλώσσεςπρογραµµατισµού περιλαµβάνουν ένα άλλο τύπο µεταβλητής, που αποκαλείται καθολική µεταβλητή (global variable) ΗγλώσσαJava ΕΝ ΕΧΕΙ καθολικές µεταβλητές 21 7
8 Blocks Ένα block είναι ένα εναλλακτικό όνοµα γιαµια σύνθετη δήλωση, δηλ., ένα σύνολο δηλώσεων σε Java µέσα σε άγκιστρα,{} Μια µεταβλητή που δηλώνεται µέσα σε ένα block, δεν µπορεί να χρησιµοποιηθεί έξω από αυτό το block Αφού δηλωθεί µια µεταβλητή µέσα σε ένα block, το όνοµά τηςδενµπορεί να χρησιµοποιηθεί για τίποτε άλλο µέσα στον ορισµό της ίδιας µεθόδου 22 ήλωση µεταβλητών µέσα σε µια δήλωση for Μπορούµεναδηλώσουµε µια ή περισσότερες µεταβλητές στο τµήµα αρχικοποίησης της δήλωσης for Μια µεταβλητή που δηλώνεται έτσι θα είναι τοπική στο βρόχο for, και δεν µπορεί να χρησιµοποιηθεί εκτός του βρόχου Εάν πρέπει να χρησιµοποιήσουµετηµεταβλητή εκτός του βρόχου, τότε τη δηλώνουµε εκτός βρόχου 23 Παράµετροι primitive τύπου Οι µέθοδοι που είδαµε µέχρι στιγµής δεν είχαν παραµέτρους, και αυτό σηµατοδοτούνταν µεκενόζεύγος παρενθέσεωνστηνκεφαλίδατηςµεθόδου Μερικές µέθοδοι χρειάζονται να λαµβάνουν επιπλέον δεδοµένα διαµέσου µιας λίστας παραµέτρων (parameters) ώστε να εκτελέσουν την εργασία τους Αυτές οι παράµετροι αποκαλούνται επίσης και τυπικοί παράµετροι (formal parameters) 24 8
9 Παράµετροι primitive τύπου Η λίστα των παραµέτρων παρέχει µια περιγραφή των δεδοµένων που απαιτούνται από τη µέθοδο Καθορίζει τον αριθµό καιτοντύποδεδοµένων που απαιτούνται, τη σειρά µετηνοποίαπρέπεινα δοθούν, και το τοπικό όνοµα για τα δεδοµένα αυτά όπως θα χρησιµοποιηθούν στη µέθοδο public double mymethod(int p1, int p2, double p3) 25 Παράµετροι primitive τύπου Όταν ενεργοποιείται µια µέθοδος, οι κατάλληλες τιµές θα πρέπει να περάσουν στη µέθοδο µετηµορφή των ορισµάτων (arguments) Τα ορίσµατα αποκαλούνται επίσης πραγµατικοί παράµετροι (actual parameters) Οαριθµός και η σειρά των ορισµάτων πρέπει να ταιριάζει ακριβώς µε τα αντίστοιχα της λίστας παραµέτρων Οτύποςκάθεορίσµατος πρέπει να είναι συµβατός µετον τύπο της αντίστοιχης παραµέτρου int a=1,b=2,c=3; double result = mymethod(a,b,c); 26 Παράµετροι primitive τύπου Στο προηγούµενο παράδειγµα, η τιµή κάθε ορίσµατος (όχι το όνοµα της µεταβλητής) ενσωµατώνεται στην αντίστοιχη παράµετρο της µεθόδου Αυτός ο τρόπος ενσωµάτωσης ορισµάτων αντί για τις τυπικές παραµέτρους είναι γνωστός ως µηχανισµός κλήσης µε τιµή (call-byvalue mechanism) 27 9
10 Παράµετροι primitive τύπου Εάν ο τύπος του ορίσµατος και της παραµέτρου δεν ταιριάζουν ακριβώς, η Java θα επιχειρήσει έναν αυτόµατο µετασχηµατισµό τύπου Στο προηγούµενο παράδειγµα, ητιµή int του ορίσµατος c θα µετατραπεί σε έναν double Ένα όρισµα primitive τύπου µπορεί αυτόµατα να µετασχηµατιστεί σε έναν από τους επόµενους τύπους από αυτούς που εµφανίζονται στα δεξιά του: byte short int long float double char 28 Παράµετροι primitive τύπου Μια παράµετρος συχνά εκλαµβάνεται ως κενό ή placeholder το οποίο γεµίζει µετηντιµήτου αντίστοιχου ορίσµατος Όµως, µια παράµετρος είναι κάτι πολύ περισσότερο από αυτό: στην ουσία είναι µια τοπική µεταβλητή Όταν ενεργοποιείται µια µέθοδος, υπολογίζεται η τιµή του ορίσµατος, και η αντίστοιχη παράµετρος (δηλ., τοπική µεταβλητή) αρχικοποιείται σε αυτή τη τιµή Ακόµα καιεάνητιµή µιας τυπικής παραµέτρου µεταβληθεί µέσα σε µια µέθοδο (δηλ., χρησιµοποιηθεί ως τοπική µεταβλητή) ητιµή του ορίσµατος δεν µπορεί να µεταβληθεί 29 Τυπική παράµετροςωςτοπικήµεταβλητή (1/5) 30 10
11 Τυπική παράµετροςωςτοπικήµεταβλητή (2/5) 31 Τυπική παράµετροςωςτοπικήµεταβλητή (3/5) 32 Τυπική παράµετροςωςτοπικήµεταβλητή (4/5) 33 11
12 Τυπική παράµετροςωςτοπικήµεταβλητή (5/5) 34 Παγίδα: Χρήση των όρων Παράµετρος και Όρισµα εν πρέπει να µας προκαλεί έκπληξη όταν κάποιοι (ίσως και στις διαλέξεις του µαθήµατος αυτού) συχνά χρησιµοποιούνε τους δυο όρους ως αµοιβαία εναλλάξιµους Όταν βλέπουµε αυτούς τους όρους, θα προσδιορίζουµε τονόηµά τουςαπότα συµφραζόµενα 35 Ηπαράµετρος this Όλες οι instance variables έχουν το καλούν αντικείµενο να προηγείται της κλήσης τους, δηλ., <the calling object>. Εάν απαιτείται ένα explicit όνοµα γιατο καλούν αντικείµενο, µπορεί να χρησιµοποιηθεί η keyword this Η myinstancevariable πάντα σηµαίνει και είναι αµοιβαία εναλλάξιµη µετο this.myinstancevariable 36 12
13 Ηπαράµετρος this Η παράµετρος this πρέπει να χρησιµοποιείται εάν µια παράµετρος ή άλλη τοπική µεταβλητή µε τοίδιοόνοµα χρησιµοποιείται στη µέθοδο ιαφορετικά, όλαταστιγµιότυπα του ονόµατος της µεταβλητής θα ερµηνεύεται ως η τοπική µεταβλητή int somevariable = this.somevariable local instance 37 Ηπαράµετρος this Ηπαράµετρος this είναι ένα είδος κρυφής παραµέτρου Παρόλο που δεν εµφανίζεται στη λίστα παραµέτρων µιας µεθόδου, εξακολουθεί να είναι µια παράµετρος Όταν ενεργοποιείται µια µέθοδος, στο καλούν αντικείµενο αυτόµατα ενσωµατώνεται η this 38 Μέθοδοι που επιστρέφουν τιµή Boolean Μια ενεργοποίηση µιας µεθόδου που επιστρέφει µια τιµή τύπου boolean επιστρέφει είτε true είτε false Εποµένως, είναι κοινή πρακτική να χρησιµοποιούµε µια ενεργοποίηση µιας τέτοιας µεθόδου για να ελέγξουµε δηλώσεις και βρόχους εκεί όπου απαιτείται µια Boolean έκφραση if-else δηλώσεις, while βρόχοι, κ.τ.λ
14 Οι µέθοδοι equals και tostring Η Java περιµένει κάποιες µεθόδους, όπως οι equals και tostring, να βρίσκονται σε όλες, ή σχεδόν σε όλες τις κλάσεις Οσκοπόςτηςequals, µια µέθοδος µετιµή boolean, είναι να συγκρίνει δυο αντικείµενατηςκλάσηςγιαναδούµεεάν ικανοποιούν την έννοια της ισότητας Σηµείωση: εν µπορούµε ναχρησιµοποιήσουµετο== για να συγκρίνουµε δυοαντικείµενα public boolean equals(classname objectname) Οσκοπόςτηςµεθόδου tostring είναι να επιστρέφει µια τιµή String που αντιπροσωπεύει τα δεδοµένα του αντικειµένου public String tostring() 40 Μέθοδοι ελέγχου Κάθε µέθοδος θα πρέπει να ελέγχεται σε ένα πρόγραµµα, στο οποίο είναι η µόνη µη ελεγµένη µέθοδος Ένα πρόγραµµα του οποίου ο σκοπός είναι να ελέγξει µια µέθοδο, λέγεται driver program Μια µέθοδος συχνά ενεργοποιεί άλλες µεθόδους, έτσι ένας τρόπος για να το κάνουµε αυτό είναι να ελέγξουµε πρώτα όλες τις µεθόδους που ενεργοποιούνται από αυτή, και κατόπιν να ελέγξουµε τη συγκεκριµένη µέθοδο Αυτό λέγεται έλεγχος από-κάτω-προς-τα-πάνω (bottom-up testing) Μερικές φορές είναι απαραίτητο να ελέγξουµε µια µέθοδο πριν από κάποια άλλη µέθοδο από την οποία εξαρτάται αλλά η οποία δεν έχει ελεγχθεί ή ολοκληρωθεί Στην περίπτωση αυτή, χρησιµοποιούµε µια απλοποιηµένη έκδοση της µεθόδου, που αποκαλείται stub, γιαναεπιστρέφειµια τιµή απλά για έλεγχο 41 Θεµελιώδης κανόνας για έλεγχο µεθόδων Κάθε µέθοδος θα πρέπει να ελέγχεται σε ένα πρόγραµµα, στο οποίο κάθε άλλη µέθοδος στο πρόγραµµαελέγχου έχει ήδη ελεγχθεί εξαντλητικά και αποσφαλµατωθεί 42 14
15 Απόκρυψη πληροφορίας και Ενθυλάκωση Απόκρυψη Πληροφορίας (Information hiding) είναι η πρακτική του διαχωρισµού του πώς να χρησιµοποιήσουµε µια κλάση από τις λεπτοµέρειες υλοποίησής της Αφαίρεση (Abstraction) είναι ένας άλλος όρος που χρησιµοποιείται για να εκφράσει την έννοια της αγνόησηςτωνλεπτοµερειών ώστε να αποφύγουµε τηνυπερφόρτωσηµε πληροφορίες (information overload) Ενθυλάκωση (Encapsulation) σηµαίνει ότι τα δεδοµένα και οι µέθοδοι µιαςκλάσηςσυνδυάζονταισεµια ενόττηα (δηλ., σε ένα αντικείµενο της κλάσης), το οποίο αποκρύπτει τις λεπροµέρειες υλοποίησης Ηγνώσητωνλεπτοµερειών είναι µη αναγκαία, γιατί η αλληλεπίδραση µε το αντικείµενο λαµβάνει χώρα διαµέσου µιας καλά καθορισµένης και απλής διεπαφής Στη Java, η απόκρυψη πληροφοριών γίνεται µε τον προσδιορισµό τους ως private 43 Ένα ζεύγος ακρώνυµων: API και ADT Το API ή application programming interface για µια κλάση είναι η περιγραφή του πώς να χρησιµοποιήσουµε τηνκλάση Ένας προγραµµατιστής χρειάζεται να διαβάσει µόνο το API ώστε να χρησιµοποιήσει µια καλά σχεδιασµένη κλάση Ένας ADT ή abstract data type είναι ένας τύπος δεδοµένων που έχει γραφεί µε χρήση ορθών τεχνικών απόκρυψης πληροφορίας 44 public και private modifiers Ο modifier public (δηµόσιος) σηµαίνει ότι δεν υπάρχουν περιορισµοί στο πού µπορεί να χρησιµοποιηθεί µια instance variable ή µια µέθοδος της κλάσης Ο modifier private (ιδιωτικός) σηµαίνει ότι µια instance variable ή µέθοδος δεν µπορεί να προσπελαστεί µε όνοµα (accessed by name) εκτός της κλάσης Θεωρείται καλή προγραµµατιστική τακτική να δηλώνουµε όλες τις instance variables ως private Οι περισσότερες µέθοδοι είναι public, και έτσι παρέχουν ελεγχόµενη προσπέλαση στο αντικείµενο Συνήθως, οι µέθοδοι δηλώνονται ως private µόνο εάν χρησιµοποιούνται ως βοηθητικές µέθοδοι για άλλες µεθόδους της κλάσης 45 15
16 Accessor και Mutator µέθοδοι Οι Accessor µέθοδοι επιτρέπουν στον προγραµµατιστή να πάρει (διαβάσει) την τιµήτωνinstance variables ενός αντικειµένου Τα δεδοµένα µπορούν να προσπελαστούν, αλλά όχι να τροποποιηθούν Το όνοµα µιας accessor µεθόδου συνήθως αρχίζει µε τηλέξη get Οι Mutator µέθοδοι επιτρέπουν στον προγραµµατιστή να αλλάξει την τιµήτωνinstance variables του αντικειµένου µε ελεγχόµενο τρόπο Τα εισερχόµενα δεδοµένα συνήθως ελέγχονται και φιλτράρονται Το όνοµα µιας mutator µεθόδου συνήθως αρχίζει µε τηλέξη set 46 Ενθυλάκωση (Encapsulation) 47 Κάθε κλάση έχει πρόσβαση στα ιδιωτικά µέλη όλων των αντικειµένων της κλάση αυτής Μέσα στον ορισµό µιας κλάσης, τα ιδιωτικά (private) µέλη οποιουδήποτε αντικειµένου της κλάσης µπορούν να προσπελαστούν, όχι µόνο τα ιδιωτικά µέλη του καλούντος αντικειµένου 48 16
17 Οι mutator µέθοδοι θα µπορούσαν να επιστρέφουν µια Boolean τιµή Μερικές mutator µέθοδοι σηµατοδοτούν µήνυµα σφάλµατος και τερµατίζουν το πρόγραµµα όταντους δίνονται τιµές που δεν έχουν νόηµα για τη λογική του προγράµµατος Μια εναλλακτική προσέγγιση είναι να κάνουµετη mutator µέθοδο να ελέγχει τις τιµές, αλλά να µην τερµατίζει το πρόγραµµα Εναλλακτικά, να επιστρέφει µια boolean τιµή, και να αφήνει το καλούν πρόγραµµα να χειριστεί τις περιπτώσεις όπου οι αλλαγές δεν ακολουθούν τη λογική του προγράµµατος 49 Preconditions και Postconditions Η precondition µιας µεθόδου δηλώνει αυτό που υποτίθεται ότι είναι αληθές όταν καλείται η µέθοδος Η postcondition µιας µεθόδου δηλώνει αυτό που θα είναι αληθές µετά την εκτέλεση της µεθόδου, υπό την προϋπόθεση ότι η precondition ισχύει Είναικαλήπρακτικήνασκεφτόµαστε πάντα µε όρους preconditions και postconditions όταν σχεδιάζουµε µια µέθοδο, και όταν γράφουµε τα σχόλια για τη µέθοδο 50 Υπερφόρτωση (Overloading) Overloading είναι όταν δυο ή περισσότερες µέθοδοι στην ίδια κλάση έχουν το ίδιο όνοµα Γιαναείναιέγκυρες, δυο οποιοιδήποτε ορισµοί για τη µέθοδο πρέπει να έχουν διαφορετικές ι (signatures) Μια υπογραφή αποτελείται από το όνοµα τηςµεθόδου µαζί µε τη λίστα των παραµέτρων της ιαφορετικές υπογραφές πρέπει να έχουν διαφορετικό αριθµό και/ήτύπωνδεδοµένων για τις παραµέτρους 51 17
18 Overloading και αυτόµατη µετατροπή τύπων Εάν η Java δεν µπορεί να βρει µια µέθοδο της οποίας η υπογραφή ταιριάζει ακριβώς µε την ενεργοποίηση της µεθόδου, θα προσπαθήσει να χρησιµοποιήσει την τεχνική της αυτόµατης µετατροπής τύπων Η αλληλεπίδραση overloading και αυτόµατης µετατροπής τύπων µπορείναέχειαπρόβλεπτα αποτελέσµατα Σε µερικές περιπτώσεις overloading, εξαιτίας της αυτόµατης µετατροπής τύπων, η ενεργοποίηση µιας απλής µεθόδου µπορεί να αναλυθεί σε πολλαπλούς τρόπους ιφορούµενη ενεργοποίηση µεθόδου (ambiguous method invocation) θα προκαλέσει λάθος στη Java 52 Παγίδα: εν µπορούµεναεπιτύχουµε overload µε βάση τον επιστρεφόµενο τύπο Ηυπογραφήµιας µεθόδου αποτελείται µόνο από το όνοµά της και τους τύπους των ορισµάτων της Ηυπογραφήδεν περιλαµβάνει τον επιστρεφόµενο τύπο Η Java δεν επιτρέπει µεθόδους µε τοίδιο όνοµα και διαφορετικούς επιστρεφόµενους τύπους στην ίδια κλάση 53 εν µπορούµε νακάνουµε overload τους τελεστές στη Java Παρόλο που πολλές γλώσσες προγραµµατισµού, όπως η C++, επιτρέπουν την υπερφόρτωση τελεστών (+, -, etc.), η Java δεν το επιτρέπει Μπορούµε µόνο να χρησιµοποιήσουµε το όνοµα µιας µεθόδου και κανονική σύνταξη µιας µεθόδου για να επιτύχουµε τις λειτουργίες ποτ επιθυµούµε 54 18
19 Κατασκευαστές (Constructors) Ένας constructor είναι ένας ειδικός τύπος µεθόδου που υπάρχει για να αρχικοποιούµετις instance variables ενός αντικειµένου: public ClassName(anyParameters){code} Ένας constructor ΠΡΕΠΕΙ να έχει το ίδιο όνοµα µε αυτό της κλάσης Ένας constructor δεν έχει επιστρεφόµενο τύπο, ΟΥΤΕ void Συνήθως κάνουµε υπερφόρτωση των constructors 55 Κατασκευαστές (Constructors) Ένας constructor καλείται όταν κατασκευάζεται ένα αντικείµενο της κλάσης µετοντελεστήnew ClassName objectname = new ClassName(anyArgs); Το όνοµατουconstructor και λίστα των ορισµάτων (εάν υπάρχουν κάποια) πρέπει να έπονται του τελεστή new Αυτός είναι ο µόνος έγκυρος τρόπος να ενεργοποιήσουµε έναν constructor: ένας constructor ΕΝ µπορεί να ενεργοποιηθεί όπως µια συνηθισµένη µέθοδος Εάν ένας constructor ενεργοποιηθεί ξανά (µεχρήσητου new), το πρώτο αντικείµενο απορρίπτεται και δηµιουργείται ένα εντελώς νέο Εάν χρειαστεί να αλλάξουµε τιςτιµές των instance variables του αντικειµένου, θα πρέπει να χρησιµοποιήσουµετιςmutator µεθόδους 56 Μπορούµε να ενεργοποιήσουµε µια άλλη µέθοδο µέσα σε έναν constructor Η πρώτη ενέργεια που λαµβάνει χώρα από έναν constructor είναι να δηµιουργηθεί ένα αντικείµενο µε instance variables Εποµένως, είναι έγκυρο να ενεργοποιήσουµε µια άλλη µέθοδο µέσα στον ορισµόενόςconstructor, αφού το αντικείµενο που µόλις δηµιουργήθηκε είναι το καλούν αντικείµενο Για παράδειγµα, οι mutator µέθοδοι µπορούν να χρησιµοποιηθούν για να θέσουµετιςτιµές των instance variables Είναι επίσης δυνατό ένας constructor να ενεργοποιήσει κάποιον άλλο 57 19
20 Ένας constructor έχει την παράµετρο this Όπως κάθε συνηθισµένη µέθοδος, κάθε constructor έχει την παράµετρο this Ηπαράµετρος this µπορεί να χρησιµοποιηθεί ρητά, αλλά συνήθως εκλαµβάνεται ως υπάρχουσα ακόµα και εάν δεν γραφεί Είδαµε ότι η πρώτη ενέργεια που γίνεται από έναν constructor είναι να δηµιουργήσει αυτόµατα ένα αντικείµενο µε instance variables Κατόπιν, µέσα στον ορισµότουconstructor, η παράµετρος this αναφέρεται στο αντικείµενο που δηµιουργήθηκε από τον constructor 58 Φτιάξτε έναν constructor χωρίς ορίσµατα Εάν δεν φτιάξετε κανέναν constructor στην κλάση σας, η Java αυτόµαταθαδηµιουργήσει έναν εξ ορισµού (default) ή χωρίς ορίσµατα (no-argument) constructor που δεν έχει κανένα όρισµα, δεν εκτελεί αρχικοποιήσεις, αλλά επιτρέπει τη δηµιουργία ενός αντικειµένου Εάν φτιάξετε έστω και έναν constructor στην κλάση σας, η Java δεν θα φτιάξει τον default constructor Εάν φτιάξετε κάποιους constructors στην κλάση σας, µην ξεχάσετε να φτιάξετε και τον no-argument constructor 59 Εξ ορισµού αρχικοποιήσεις µεταβλητών Οι instance variables αρχικοποιούνται αυτόµατα στη Java Οι boolean τύποι αρχικοποιούνται στην τιµή false Οι άλλοι primitive τύποι αρχικοποιούνται στο µηδέν του τύπου τους Οι τύποι κλάσεων αρχικοποιούνται στο null Όµως, είναι ορθότερη πρακτική να αρχικοποιούµερητάτιςinstance variables στον constructor Σηµείωση: Οι local variables δεν αρχικοποιούνται αυτόµατα 60 20
21 ΗκλάσηStringTokenizer ΗκλάσηStringTokenizer χρησιµοποιείται για να ανακτούµε λέξεις ή tokens σε ένα String που αποτελείται από πολλές λέξεις Μπορούµεναχρησιµοποιήσουµε χαρακτήρες whitespace για να διαχωρίσουµε κάθε token, ή µπορούµεναορίσουµετουςχαρακτήρεςπου επιθυµούµεωςδιαχωριστές Για να χρησιµοποιήσουµε την κλάση StringTokenizer, πρέπει να βάλουµετοεξήςστην αρχήτουαρχείουπηγαίουκώδικα: import java.util.stringtokenizer; 61 Μερικές µέθοδοι της κλάσης StringTokenizer (1/2) 62 Μερικές µέθοδοι της κλάσης StringTokenizer (2/2) 63 21
22 Ορίζοντας κλάσεις II 64 Μέθοδοι static Μια static µέθοδος είναι εκείνη που µπορεί να χρησιµοποιηθεί χωρίς να υπάρχει καλούν αντικείµενο Μια static µέθοδος εξακολουθεί να ανήκει σε κάποια κλάση, και ο ορισµός της δίνεται µέσα στον ορισµό της κλάσης Όταν ορίζεται µια static µέθοδος, η keyword static τοποθετείται στην κεφαλίδα της µεθόδου public static returnedtype mymethod(parameters) {... } Οι static µέθοδοι ενεργοποιούνται χρησιµοποιώντας το όνοµα της κλάσης στηθέσητουκαλούντοςαντικειµένου returnedvalue = MyClass.myMethod(arguments); 65 Παγίδα: Ενεργοποίηση µιας non-static µεθόδου µέσα σε µια static µέθοδο Μια static µέθοδος δεν µπορεί να αναφερθεί σε µια instance variable της κλάσης, και δεν µπορεί να ενεργοποιήσει (καλέσει) µια non-static µέθοδο της κλάσης Μια static µέθοδος δεν έχει παράµετρο this, και συνεπώς δεν µπορεί να χρησιµοποιήσει µια instance variable ή µέθοδο που έχουν µια έµµεσήήάµεση this για το καλούν αντικείµενο Μια static µέθοδος µπορεί να ενεργοποιήσει µια άλλη static µέθοδο 66 22
23 Υπόδειξη: Μπορούµε ναβάλουµε µια main σε οποιαδήποτε κλάση Παρόλο που η µέθοδος main συχνά βρίσκεται από µόνη της σε µια κλάση χωριστά από τις άλλες κλάσειςενόςπρογράµµατος, µπορεί να περιέχεται σε µια κανονική κλάση Με τον τρόπο αυτό, η κλάση στην οποία περιέχεται µπορεί να χρησιµοποιηθεί για να δηµιουργηθούν αντικείµενα άλλων κλάσεων ή να χρησιµοποιηθεί για να εκτελεστεί ως πρόγραµµα Μια µέθοδος main που περιλαµβάνεται σε µια κανονική κλάση είναι εξαιρετικά χρήσιµηότανπεριέχει διαγνωστικό κώδικα για την κλάση 67 Μια άλλη κλάση µε main (1/4) 68 Μια άλλη κλάση µε main (2/4) 69 23
24 Μια άλλη κλάση µε main (3/4) 70 Μια άλλη κλάση µε main (4/4) 71 Static µεταβλητές Μια static µεταβλητή είναι µια µεταβλητή που ανήκει στην κλάση, και όχι σε ένα συγκεκριµένο αντικείµενο Υπάρχει µόνο ένα αντίγραφο µιας static µεταβλητής ανά κλάση, αντίθετα µε τιςinstance variables που κάθε αντικείµενοέχειτοδικότουαντίγραφοαπόκάθεinstance variable Όλα τα αντικείµενα της κλάσης µπορούν να διαβάζουν και να τροποποιούν µια static µεταβλητή Παρόλο που µια static µέθοδος δεν µπορεί να προσπελάσει µια instance variable, µια static µέθοδος µπορεί να προσπελάσει µια static µεταβλητή Μια static µεταβλητή δηλώνεται όπως µια instance variable, µετηνπροσθήκητουmodifier static private static int mystaticvariable; 72 24
25 Static µεταβλητές Οι static µεταβλητές µπορούν να δηλωθούν και να αρχικοποιηθούν την ίδια στιγµή private static int mystaticvariable = 0; Εάν δεν αρχικοποιηθούν ρητά, µια static µεταβλητή θα πάρει αυτόµατα µια εξ ορισµού τιµή Οι boolean static µεταβλητές αρχικοποιούνται σε false Οι static µεταβλητές άλλων primitive τύπων αρχικοποιούνται στο µηδέν του τύπου τους Οι static µεταβλητές τύπου κλάσης αρχικοποιούνται σε null Είναι πάντα προτιµητέο να αρχικοποιούµερητάτις static µεταβλητές παρά να βασιζόµαστε στην εξ ορισµού αρχικοποίηση 73 Static µεταβλητές Μια static µεταβλητή θα πρέπει πάντα να δηλώνεται ως private, εκτός και εάν είναι µια ορισµένη σταθερά (defined constant) Ητιµή µιας static defined constant δεν µπορεί να αλλάξει, εποµένως είναι ασφαλές να τη δηλώνουµεωςpublic Επιπρόσθετα ως static, ηδήλωσηγιαµια static defined constant πρέπει να περιλαµβάνει τον modifier final, ο οποίος προσδιορίζει ότι η τιµήτηςδενµπορεί να αλλαχτεί public static final int BIRTH_YEAR = 1954; Όταν αναφερόµαστε σε µια τέτοια defined constant εκτός της κλάσης της, χρησιµοποιούµετοόνοµατης κλάσης της στη θέση του καλούντος αντικειµένου int year = MyClass.BIRTH_YEAR; 74 ΗκλάσηMath ΗκλάσηMath παρέχει έναν αριθµό συνηθισµένων µαθηµατικών µεθόδων Βρίσκεται στο java.lang package, και συνεπώς δεν χρειάζεται να χρησιµοποιήσουµε τηδήλωση import Όλες οι µέθοδοί της και τα δεδοµένα της είναι static, εποµένως ενεργοποιούνται µε τοόνοµα της κλάσης Math αντί για το καλούν αντικείµενο ΗκλάσηMath έχει δυο προκαθορισµένες σταθερές, την E (e, η βάση των φυσικών λογαρίθµων) και PI (π, ) area = Math.PI * radius * radius; 75 25
26 Μερικές µέθοδοι της κλάσης Math (1/5) 76 Μερικές µέθοδοι της κλάσης Math (2/5) 77 Μερικές µέθοδοι της κλάσης Math (3/5) 78 26
27 Μερικές µέθοδοι της κλάσης Math (4/5) 79 Μερικές µέθοδοι της κλάσης Math (5/5) 80 Wrapper κλάσεις Οι wrapper κλάσεις παρέχουν έναν τύπο κλάσης που αντιστοιχεί σε κάθε έναν από τους primitive τύπους Αυτόκαθιστάεφικτόναέχουµετύπουςκλάσεωνπου συµπεριφέρονται όπως και οι primitive τύποι Οι wrapper κλάσεις για τους primitive τύπους byte, short, long, float, double, και char είναι (αντίστοιχα) Byte, Short, Long, Float, Double, και Character Οι wrapper κλάσει περιέχουν επίσης έναν αριθµό χρήσιµων προκαθορισµένων σταθερών και static µεθόδων 81 27
28 Wrapper κλάσεις Boxing: ηδιαδικασίαµετασχηµατισµού µιας τιµή primitive τύπου σε αντικείµενο της αντίστοιχης wrapper κλάσης Για να µετατρέψουµε µια primitive τιµήσεµια ισοδύναµη τιµήτύπουκλάσης, δηµιουργούµε ένα αντικείµενο της αντίστοιχης wrapper κλάσης χρησιµοποιώντας την primitive τιµήωςόρισµα Το νέο αντικείµενο θα περιέχει µια instance variable που αποθηκεύει ένα αντίγραφο της primitive τιµής ιαφορετικά από άλλες κλάσεις, µια wrapper ΕΝ έχει no-argument constructor Integer integerobject = new Integer(42); 82 Wrapper κλάσεις Unboxing: ηδιαδικασίαµετασχηµατισµού ενός αντικειµένου µιας wrapper κλάσης στην αντίστοιχη τιµή ενόςprimitive τύπου Οι µέθοδοι µετατροπήςενόςαντικειµένου από τις wrapper κλάσεις Byte, Short, Integer, Long, Float, Double, και Character στον αντίστοιχο primitive τύπο είναι (αντίστοιχα) bytevalue, shortvalue, intvalue, longvalue, floatvalue, doublevalue, και charvalue Καµία από αυτές τις µεθόδους δεν παίρνει όρισµα int i = integerobject.intvalue(); 83 Αυτόµατο Boxing και Unboxing Από την έκδοση 5.0, η Java µπορεί να εκτελέσει αυτόµατα boxing και unboxing Αντί να δηµιουργούµε ένααντικείµενο µιας wrapper κλάσης χρησιµοποιώντας τη λειτουργία new (όπως δείξαµε πριν), µπορεί να γίνει ως αυτόµατα προσαρµογή τύπου: Integer integerobject = 42; Αντί να ενεργοποιούµε την κατάλληλη µέθοδο (όπως intvalue, doublevalue, charvalue, κ.τ.λ.) για να µετατρέψουµεένααντικείµενο µιας wrapper κλάσης στην τιµήτουαντίστοιχουprimitive τύπου, η primitive τιµή ανακτάται αυτόµατα int i = integerobject; 84 28
29 Σταθερές και static µέθοδοι σε wrapper κλάσεις Οι wrapper κλάσεις περιλαµβάνουν χρήσιµες σταθερές που δίνουν τις µεγαλύτερες και µικρότερες τιµές για οποιονδήποτε από τους primitive αριθµητικούς τύπους Για παράδειγµα, Integer.MAX_VALUE, Integer.MIN_VALUE, Double.MAX_VALUE, Double.MIN_VALUE, κ.τ.λ. Η Boolean κλάση έχει ονόµατα για δυο σταθε ρές τύπου Boolean Boolean.TRUE και Boolean.FALSE είναι δυο Boolean αντικείµενα που αντιστοιχούν στις τιµές true και false του primitive τύπου boolean 85 Σταθερές και static µέθοδοι σε wrapper κλάσεις Οι wrapper κλάσεις έχουν static µεθόδους που µετατρέπουν µια ορθά σχηµατισµένη αναπαράσταση αριθµού ως αλφαριθµητικό σε αριθµό του αντίστοιχου τύπου Οι µέθοδοι Integer.parseInt, Long.parseLong, Float.parseFloat, και Double.parseDouble εκτελούν αυτή τη λειτουργία για τους primitive τύπους (αντίστοιχα) int, long, float, και double Επίσης, οι wrapper κλάσεις έχουν static µεθόδους που µετατρέπουν µια αριθµητική τιµήσεαλφαριθµητικό Για παράδειγµα, ηέκφραση Double.toString(123.99); επιστρέφει το αλφαριθµητικό "123.99" ΗκλάσηCharacter περιέχει έναν αριθµό static µεθόδων χρήσιµων για επεξεργασία αλφαριθµητικών 86 Μερικές µέθοδοι της κλάσης Character (1/3) 87 29
30 Μερικές µέθοδοι της κλάσης Character (2/3) 88 Μερικές µέθοδοι της κλάσης Character (3/3) 89 Μεταβλητές και µνήµη Κάθε υπολογιστής έχει δυο τύπους µνήµης ευτερεύουσα µνήµη (Secondary memory): χρησιµοποιείται για να κρατά αρχεία για µόνιµη αποθήκευση Κύρια µνήµη (Main memory): χρησιµοποιείται από τον υπολογιστή όταν εκτελείται ένα πρόγραµµα Οι τιµές που αποθηκεύονται στις µεταβλητές ενός προγράµµατος κρατούνται στην κύρια µνήµη 90 30
31 Μεταβλητές και µνήµη Ηκύριαµνήµη αποτελείται από µια µακρά λίστα αριθµηµένων θέσεων από αποκαλούνται bytes Κάθε byte περιέχει οκτώ bits: οκτώ ψηφία 0 ή 1 Οαριθµός που προσδιορίζει ένα byte αποκαλείται διεύθυνσή (address) του Ένα δεδοµένο µπορεί να αποθηκευτεί σε ένα (ή περισσότερα) από αυτά τα bytes Ηδιεύθυνσητουbyte χρησιµοποιείται για να εντοπίσουµετοδεδοµένο όταν χρειαστεί 91 Μεταβλητές και µνήµη Οι τιµές των περισσοτέρων τύπων δεδοµένων απαιτούν περισσότερα από ένα byte για την αποθήκευσή τους Στην περίπτωση αυτή, αρκετά γειτονικά bytes χρησιµοποιούνται για την αποθήκευση του δεδοµένου Ολόκληρο το τµήµα τηςµνήµης που κρατά το δεδοµένο αποκαλείται η θέση µνήµης (memory location) του Η διεύθυνση του πρώτου byte αυτής της µνήµης χρησιµοποιείται ως διεύθυνση του δεδοµένου αυτού Ηκύριαµνήµηενόςυπολογιστήµπορεί να θεωρηθεί ως µια µακρά λίστα θέσεων µνήµης µεταβλητού µεγέθους (varying sizes) 92 Μεταβλητές στη µνήµη 93 31
32 Αναφορές (References) Κάθε µεταβλητή υλοποιείται ως µια θέση στη µνήµη του υπολογιστή Όταν η µεταβλητή είναι primitive τύπου, ητιµή τηςµεταβλητής αποθηκεύεται στη θέση µνήµης που ανατέθηκε στη µεταβλητή Κάθε primitive τύπος πάντα απαιτεί το ίδιο χώρο µνήµης για να αποθηκεύσει τις εκάστοτε τιµές του 94 Αναφορές (References) Όταν η µεταβλητή είναι τύπου κλάσης, µόνο η διεύθυνση της µνήµης (ήαναφορά- reference), όπου αποθηκεύεται το αντικείµενο ανατίθεται, στη µεταβλητή Το αντικείµενο που καθορίζεται από τη µεταβλητή αποθηκεύεται σε κάποια άλλη θέση µνήµης Όπως και στην περίπτωση των primitives, ητιµήτης µεταβλητής τύπου κλάσης έχει σταθερό µέγεθος Αντίθετα από την περίπτωση των primitives, ητιµήτης µεταβλητής τύπου κλάσης είναι µια διεύθυνση µνήµης ή αναφορά (reference) Το αντικείµενο, του οποίου η διεύθυνση αποθηκεύεται στην µεταβλητή, µπορεί να έχει οποιοδήποτε µέγεθος 95 Αναφορές (References) υο µεταβλητές αναφοράς µπορεί να περιέχουν την ίδια αναφορά, και εποµένως να ονοµατίζουν το ίδιο αντικείµενο Ο τελεστής ανάθεσης θέτει την αναφορά (διεύθυνση µνήµης) της µιας µεταβλητής τύπου κλάσης ίση µε την άλλη Κάθε αλλαγή στο αντικείµενο που ονοµατίζεται από µια από τις δυο αυτές µεταβλητές θα παράξει µια αλλαγή στο αντικείµενο που ονοµατίζεται από την άλλη, αφού πρόκειται για το ίδιο αντικείµενο variable2 = variable1; 96 32
33 Μεταβλητές τύπου κλάσης αποθηκεύουν αναφορές (1/2) 97 Μεταβλητές τύπου κλάσης αποθηκεύουν αναφορές (2/2) 98 Τελεστής ανάθεσης µε µεταβλητές τύπου κλάσης (1/3) 99 33
34 Τελεστής ανάθεσης µε µεταβλητές τύπου κλάσης (2/3) 100 Τελεστής ανάθεσης µε µεταβλητές τύπου κλάσης (3/3) 101 Στην επόµενη διάλεξη Κλάσεις & αντικείµενα (συνέχεια) Κλάσεις ως παράµετροι Copy constructors Packages javadoc Κληρονοµικότητα
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 3η: 08/03/2006 & 09/03/2006
Κλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Αντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα τοποθετούνται
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Αντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Βασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 8η: 10/05/2006 & 11/05/2006
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 4η 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι
1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιεπαφές και Εσωτερικές κλάσεις Interfaces and Inner Classes. ιεπαφές - Interfaces
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 8η: 10/05/2006 & 11/05/2006
Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι Μαθήματα από το lab Boolean μεταβλητές: Συνήθως τα ονόματα που δίνουμε στις boolean μεταβλητές περιγράφουν
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες
Βασικά Στοιχεία της Java
Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 14η: 31/08/2006 1 Συλλογές
Βασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Αντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Λογισµικό (Software SW) Γλώσσες
Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής
Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων
Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,
Αντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Συλλογές και Επαναλήπτες. Συλλογές - Collections
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 14η: 31/08/2006 1 Συλλογές
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 6η: 06/04/2006 1 ιαχείριση
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο
Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.
Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
8. Μέθοδοι (Methods)
8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Αυτό-αξιολόγηση 1η: 08/02/2006 1
Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων
Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου
2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων
Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Αντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις Στατικές μέθοδοι Τι σημαίνει το keyword static στον ορισμό της main μεθόδου? Τι είναι μια στατική μέθοδος?
ΗΓλώσσαΠρογραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Ελένη Τουσίδου, Ph.D.
1 ΗΓλώσσαΠρογραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Ελένη Τουσίδου, Ph.D. Χειµώνας 2006 ιάλεξη 4η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall06.htm
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);
Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack
Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2
Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1
Αντικείμενα στη Java Παύλος Εφραιμίδης Java Αντικείμενα στη Java 1 Αντικείμενα (Objects) στην Java Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας
2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008 Εκτέλεση μεθόδου του αντικειμένου μιας κλάσης: 1) Δημιουργία αντικειμένου (στιγμιότυπου) της κλάσης: = new ( ); 2) Κλήση μεθόδου της κλάσης (στην
Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1
Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι
Βασικά στοιχεία της Java
Βασικά στοιχεία της Java προτάσεις, εκφράσεις, µεταβλητές, σταθερές, τελεστές Ορισµοί Πρόταση (statement) είναι µία απλή εντολή σε µία γλώσσα προγραµµατισµού. Γιαπαράδειγµα: int x=12; Έκφραση (expression)
Mεταβλητές (variables) και Σταθερές (constants)
Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 9η 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
Προγραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 10: Δείκτες Δείκτες Υπάρχουν περιπτώσεις που δεν ενδιαφέρει το περιεχόμενο αλλά η μιας μεταβλητής. Χρειάζεται κατάλληλος μηχανισμός αναφοράς και επεξεργασίας τιμών που
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Αντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 18/4/216 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση
3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 6η: Ερωτήσεις 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm
Wrapper Classes Τοποθέτηση Δεδομένων Κλήση Μεθόδων. Παναγιώτης Σφέτσος, PhD
(Object Oriented Programming) Wrapper Classes Τοποθέτηση Δεδομένων Κλήση Μεθόδων PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Wrapper Classes Τοποθέτηση Δεδομένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Δομές ελέγχου ροής προγράμματος
Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Ένα ιστόγραμμα τιμών μετράει για ένα σύνολο από τιμές πόσες φορές εμφανίστηκε η κάθε τιμή. Για παράδειγμα
Δομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Οντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ
Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)
Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο
Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA
Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.
Στοιχειώδης προγραμματισμός σε C++
Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Tοπικές μεταβλητές To αντικείμενο this Accessor, Mutator μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Tοπικές μεταβλητές To αντικείμενο this Accessor, Mutator μέθοδοι Ορισμός κλάσης και αντικειμένων Μία κλάση Κ ορίζεται από
a = 10; a = k; int a,b,c; a = b = c = 10;
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Constructors Κλάσεις και αντικείμενα Ορισμός κλάσης: class
Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage
υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 είκτες
υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: είκτες στη C++ Οι τελεστές new και delete Destructors Ορισµός τελεστών κλάσεων Ο δείκτης this ΕΠΛ 132 Αρχές Προγραµµατισµού
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07
Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Προγραµµατιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Δοµικά στοιχεία Πίνακες Το κόσκινο του Ερατοσθένη Αντιγραφή πινάκων