Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Generics και η κλάση ArrayList. Εισαγωγή στα Generics
|
|
- Νάρκισσα Μανιάκης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 12η: 30/08/ Generics και η κλάση ArrayList Generics and the ArrayList Class 2 Εισαγωγή στα Generics Από την έκδοση 5.0, η Java επιτρέπει ορισµούς κλάσεων και µεθόδων που έχουν ως παραµέτρους τύπους δεδοµένων (είναι το ανάλογο των templates στη C++) Τέτοιοι ορισµοί ονοµάζονται generics Ο προγραµµατισµός µε generics µε παράµετρο κάποιον τύπο επιτρέπει να γραφεί κώδικας που εφαρµόζεται σε οποιαδήποτε κλάση 3 1
2 ΗκλάσηArrayList Η ArrayList είναι µια κλάση των standard βιβλιοθηκών της Java ιαφορετικά από τους πίνακες, οι οποίοι έχουν σταθερό µήκος αφού δηµιουργηθούν, µια ArrayList είναι ένα αντικείµενο που µπορεί να µεγαλώνει και να µικραίνει κατά τη διάρκεια εκτέλεσης του προγράµµατος Γενικά, µια ArrayList υπηρετεί τον ίδιο σκοπό µε ένα πίνακα, εκτός του ότι η ArrayList µπορεί να αλλάζει µήκος (µέγεθος) κατά τη διάρκεια εκτέλεσης του προγράµµατος 4 ΗκλάσηArrayList ΗκλάσηArrayList υλοποιείται µε χρήση ενός πίνακα ως ιδιωτική (private) instance variable Όταν αυτός ο κρυφός πίνακας γεµίσει, ένας νέος µεγαλύτερος πίνακας δηµιουργείται και τα δεδοµένα µεταφέρονται από τον παλιό στον νέο πίνακα 5 ΗκλάσηArrayList Γιατί να µην χρησιµοποιούµε πάντα µια ArrayList αντί για έναν πίνακα? 1. Μια ArrayList είναι λιγότερο αποδοτική από ότι ένας πίνακας 2. εν υποστηρίζει τις αγκύλες [] (dereferencing) 3. Οβασικόςτύπος(base type) µιας ArrayList πρέπει να είναι τύπου κλάσης (ή άλλου reference τύπου): δεν µπορεί να είναι primitive τύπου δεδοµένων Το τελευταίο πρόβληµα δεν είναι ιδιαίτερα σηµαντικό, αφού η Java 5.0 υποστηρίζει αυτόµατη µετατροπή τύπων primitive στους αντίστοιχους reference τύπους και αντίστροφα 6 2
3 Χρήση της κλάσης ArrayList Γιανακάνουµε χρήσητηςκλάσηςarraylist, πρέπει να κάνουµε import το package java.util Μια ArrayList δηµιουργείται και ονοµατίζεται µε τον ίδιο τρόπο όπως τα αντικείµενα κάθε κλάσης, εκτός του ότι καθορίζουµε τον βασικό τύπο ως εξής: ArrayList<BaseType> alist = new ArrayList<BaseType>(); 7 Χρήση της κλάσης ArrayList Μπορούµε να καθορίσουµε µια αρχική χωριτικότητα όταν δηµιουργούµε ένααντικείµενο της ArrayList Ο παρακάτω κώδικας δηµιουργεί µια ArrayList που αποθηκεύει αντικείµενα βασικού τύπου String µε αρχική χωριτικότητα 20 στοιχείων ArrayList<String> list = new ArrayList<String>(20); Οκαθορισµός µιας αρχικής χωριτικότητα δεν περιορίζει το µέγεθος στο οποίο µπορεί να φτάσει µια ArrayList Σηµειώστε ότι ο βασικός τύπος µιας ArrayList καθορίζεται ως παράµετρος τύπου (type parameter) 8 Χρήση της κλάσης ArrayList Η µέθοδος add χρησιµοποιείται για να θέσουµε ένα στοιχείο για πρώτη φορά σε µια ArrayList list.add("something"); Το όνοµα της µεθόδου add είναι overloaded Υπάρχει επίσης µια έκδοση της µεθόδου µε δυο ορίσµατα που επιτρέπει σε ένα στοιχείο να προστεθεί σε οποιαδήποτε ήδη χρησιµοποιουµενη θέση ή σε στην πρώτη µη χρησιµοποιούµενη θέση 9 3
4 Χρήση της κλάσης ArrayList Η µέθοδος size χρησιµοποιείται για να υπολογίσουµε πόσοι δείκτες έχουν ήδη στοιχεία στην ArrayList int howmany = list.size(); Η µέθοδος set χρησιµοποιείται για να αντικαταστήσουµε οποιοδήποτε υπάρχον στοιχείο, και η µέθοδος get για να προσπελάσουµε τηντιµή οποιουδήποτε υπάρχοντος στοιχείου list.set(index, "something else"); String thing = list.get(index); 10 Υπόδειξη: Σύνοψη της προσθήκης σε µια ArrayList Η µέθοδος add συνήθως χρησιµοποιείται για να τοποθετήσουµε ένα στοιχείο σε θέση µιας ArrayList για πρώτη φορά (σε έναν δείκτη της ArrayList) Η απλούστερη µέθοδος add έχει µια παράµετρο γιατοστοιχείοπουθαπροστεθεί, και το τοποθετεί στην επόµενη κενή θέση 11 Υπόδειξη: Σύνοψη της προσθήκης σε µια ArrayList Ένα στοιχείο µπορεί να προστεθεί σε µια ήδη κατειλληµένηθέσητηςλίσταςκάνονταςχρήση της έκδοσης της µεθόδου add µε τιςδυο παραµέτρους Αυτό έχει ως συνέπεια το νέο στοιχείο να προστεθεί στη θέση που καθορίζουµε, και κάθε άλλο µέλος της ArrayList να µετακινηθεί µια θέση 12 4
5 Υπόδειξη: Σύνοψη της προσθήκης σε µια ArrayList Η έκδοση της add µε τα δυο ορίσµατα µπορεί επίσης να χρησιµοποιηθεί για να προσθέσουµε ένα στοιχείο στην πρώτη κενή θέση (εάν είναι γνωστό ποια είναι αυτή) Κάθε στοιχείο µπορεί να αλλαχτεί µε τη µέθοδο set Όµως, η set µπορεί µόνονααλλάξειτοστοιχείοσε µια θέση η οποία ήδη περιέχει κάποιο άλλο στοιχείο Επιπλέον, η µέθοδος size µπορεί να χρησιµοποιηθείγιαναπροσδιορίσουµε πόσα στοιχεία είναι αποθηκευµένα σε µια ArrayList 13 Μέθοδοι της κλάσης ArrayList Το µόνο διαθέσιµο εργαλείο για το χειρισµό των πινάκων είναι οι αγκύλες [] και την instance variable length Οι ArrayLists, όµως, περιλαµβάνουν ισχυρές µεθόδους οι οποίες µπορούν να κάνουν πολλά πράγµατα τα οποία θα απαιτούσαν να γραφούν µεγάλα κοµµάτια κώδικα εάν χρησιµοποιούσαµε πίνακες 14 Μερικές µέθοδοι της ArrayList (1/11) 15 5
6 Μερικές µέθοδοι της ArrayList (2/11) 16 Μερικές µέθοδοι της ArrayList (3/11) 17 Μερικές µέθοδοι της ArrayList (4/11) 18 6
7 Μερικές µέθοδοι της ArrayList (5/11) 19 Μερικές µέθοδοι της ArrayList (6/11) 20 Μερικές µέθοδοι της ArrayList (7/11) 21 7
8 Μερικές µέθοδοι της ArrayList (8/11) 22 Μερικές µέθοδοι της ArrayList (9/11) 23 Μερικές µέθοδοι της ArrayList (10/11) 24 8
9 Μερικές µέθοδοι της ArrayList (11/11) 25 Γιατί µερικοί παράµετροι είναι τύπου Base_Type καιάλλοιείναιτύπουobject Όταν κοιτάζουµε τιςµεθόδους της κλάσης ArrayList, παρατηρούµε µια ασυνέπεια Σε µερικές περιπτώσεις, όταν µια παράµετρος είναι φυσιολογκά ένα αντικείµενο του βασικού τύπου, ο τύπος της παραµέτρου είναι του βασικού τύπου Όµως, σε άλλες περιπτώσεις, είναι τύπου Object Αυτό συµβαίνει επειδή η κλάση ArrayList υλοποιεί έναν αριθµό interfaces, και κληρονοµεί µεθόδους από διάφορες κλάσεις προγόνους Αυτά τα interfaces και οι κλάσεις πρόγονοι καθορίζουν ότι κάποιες παράµετροι είναι τύπου Object 26 Οβρόχος"For Each" Η κλάση ArrayList είναι ένα παράδειγµα µιας κλάσης collection Από την έκδοση 5.0, η Java έχει ένα νέο είδος βρόχου for που ονοµάζεται for-each ή βρόχος enhanced for Αυτό το είδος βρόχου έχει σχεδιαστεί για να διατρέχει τα στοιχεία µιας συλλογής (collection), όπως µια ArrayList) 27 9
10 Βρόχος for-each µε ArrayList (1/3) 28 Βρόχος for-each µε ArrayList (2/3) 29 Βρόχος for-each µε ArrayList (3/3) 30 10
11 Πρόγραµµα Golf Score (1/6) 31 Πρόγραµµα Golf Score (2/6) 32 Πρόγραµµα Golf Score (3/6) 33 11
12 Πρόγραµµα Golf Score (4/6) 34 Πρόγραµµα Golf Score (5/6) 35 Πρόγραµµα Golf Score (6/6) 36 12
13 Υπόδειξη: Χρησιµοποιήστε την trimtosize γιαναεξοικονήσετεµνήµη Μια ArrayList αυτόµατα αυξάνει την χωριτικότηταά της όταν αυτό απαιτείται Όµως, η χωριτικότητα µπορεί να αυξηθεί πέρα από αυτό που απαιτεί ένα πρόγραµµα Επιπλέον, παρόλο που µια ArrayList αυξάνει αυτόµατα όταν χρειαστεί, δεν ελαττώνεται αυτόµατα Εάν µια ArrayList έχει µεγάλο ποσό περιττής χωριτικότητας, η ενεργοποίηση της µεθόδου trimtosize θα ελαττώσει την χωριτικότητα της ArrayList στο µέγεθος που χρειάζεται 37 Παγίδα: Η µέθοδος clone δηµιουργεί ρηχά αντίγραφα Όταν χρειάζεται ένα βαθύ αντιγραφο (deep copy) µιας ArrayList, η χρήση της µεθόδου δεν επαρκεί Η ενεργοποίηση της clone σε ένα αντικείµενο ArrayList παράγει ένα ρηχό αντίγραφο (shallow copy), και όχι ένα βαθύ αντίγραφο (deep copy) Γιαναφτιάξουµε έναdeep copy, πρέπει να έχουµε τη δυνατότητα να φτιάξουµε deep copy των αντικειµένων του βασικού τύπου Κατόπιν ένα deep copy κάθε στοιχείου της ArrayList µπορεί να δηµιουργθεί και να τοποθετηθεί σε ένα νέο αντικείµενο ArrayList 38 ΗκλάσηVector Οι standard libraries της Java έχουν µια κλάση µε όνοµα Vector που συµπεριφέρεται σχεδόν όπως και η κλάση ArrayList Στις περισσότερες καταστάσεις, µπορεί να χρησιµοποιηθεί οποιαδήποτε από τις δυο Όµως η κλάση ArrayList είναι νεότερη, και σταδιακά γίνεται η προτιµητέα 39 13
14 Παραµετροποιοηµένες κλάσεις και Generics ΗκλάσηArrayList είναι µια παραµετροποιηµένη κλάση (parameterized class) Έχει µια παράµετρο, που συµβολίζεται µε Base_Type, που µπορεί να αντικατασταθεί από οποιονδηποτε άλλο reference type για να προκύψει µια κλάση της ArrayLists µε τον καθορισµένοβασικότύπο Από την έκδοση 5.0, η Java επιτρέπει ορισµούς κλάσεων και µεθόδων µε τύπους ως παραµέτρους Αυτές οι κλάσεις που έχουν τύπους ως παραµέτρους αποκαλούνται parameterized class ή generic definitions, ή, απλά, generics 40 Μη-παραµετροποιηµένες κλάσεις ArrayList και Vector Οι κλάσεις ArrayList και Vector έχουν µια παράµετρο τύπου για τον βασικό τύπο Υπάρχουν επίσης ArrayList και Vector κλάσεις χωρίς παράµετρο, των οποίων ο τύπος είναι Object Αυτές οι κλάσεις είναι κατάλοιπα παλιότερων εκδόσεων της Java 41 Generics Κλάσεις και µέθοδοι µπορεί να έχουν παράµετρο τύπου Μια παράµετρος τύπου µπορεί να έχει οποιοδήποτε reference type (δηλ., τύπο κλάσης) ενσωµατωµένο στην παράµετρο Όταν ενσωµατώνεται ένας συγκεκριµένος τύπος, τότε παράγεαι ένας συγκεκριµένος τύπος κλάσης ή µεθόδου 42 14
15 Generics Ένας ορισµός κλάσης µε µια παράµετρο τύπου αποθηκεύεται σε ένα αρχείο και µεταγλωττίζεται κανονικά όπως κάθε άλλη κλάση Αφού µεταγλωττιστεί µια παραµετροποιηµένη κλάση, µπορεί να χρησιµοποιηθεί όπως κάθε άλλη κλάση Όµως, ο τύπος κλάσης που εσνωµατώνεται µέσα στην παράµετρο τύπου πρέπει να καθοριστεί πριν χρησιµοποιηθεί στο πρόγραµµα Κάνοντας αυτό θα λέµε ότι κάνουµε instantiate την generic κλάση Sample<String> object = new Sample<String>(); 43 Ορισµός κλάσης µε παράµετρο τύπου 44 Ορισµός κλάσης µε παράµετρο τύπου Μια κλάση που ορίζεται µε µια παράµετρο για έναν τύπο καλείται generic class ή parameterized class Η παράµετρος τύπου περικλείεται σε γωνιώδεις αγκύλες (angular brackets) µετά το όνοµα της κλάσης στην κεφαλίδα του ορισµού της κλάσης Οποιοσδήποτε non-keyword identifier µπορεί να χρησιµοποιηθεί ως παράµετρος τύπου, αλλά από σύµβαση, ηπαράµετρος ξεκινά µε κεφαλαίο γράµµα Η παράµετρος τύπου µπορεί να χρησιµοποιηθεί όπως καιοιάλλοιτύποιπουχρησιµοποιούνται στον ορισµό µιας κλάσης 45 15
16 Υπόδειξη: Μεταγλώττιση µε την επιλογή -Xlint Υπάρχουν πολλές παγίδες όταν χρησιµοποιούµε παραµέτρους τύπων Μεταγλωττιζοντας µε την επιλογή-xlint παρέχει καλύτερα διαγνωστικά για οποιαδήποτε προβλήµατα στον κώδικα javac Xlint Sample.java 46 Generic Ordered Pair Class (1/4) 47 Generic Ordered Pair Class (2/4) 48 16
17 Generic Ordered Pair Class (3/4) 49 Generic Ordered Pair Class (4/4) 50 Χρήση της Ordered Pair Class (1/3) 51 17
18 Χρήση της Ordered Pair Class (2/3) 52 Χρήση της Ordered Pair Class (3/3) 53 Παγίδα: Ο constructor µιας κλάσης Generic δεν έχει παράµετρο τύπου Παρόλο που το όνοµα µιας κλάσης στον ορισµό µιας παραµετροποιηµένης κλάσης έχει µια παράµετρο τύπου, αυτή η παράµετρος δεν χρησιµοποιείται στην κεφαλίδα του ορισµού του constructor public Pair<T>() Ο constructor µπορεί να χρησιµοποιήσει την παράµετρο τύπου ως τοντύπο µιας παραµέτρου στον, αλλά στην περίπτωση αυτή, δεν χρησιµοποιούνται οι angular brackets public Pair(T first, T second) Όµως, όταν µια generic class αρχικοποιείται (instantiated), οι angular brackets χρησιµοποιουνται Pair<String> pair = new Pair<STring>("Happy","Day"); 54 18
19 Παγίδα: Ένας primitive τύπος δεν µπορεί να µπει στη θέση µιας παραµέτρου τύπου Οτύποςπουενσωµατώνεται σε µια παράµετρο τύπου πρέπει πάντα να είναι reference type εν µπορεί να είναι primitive τύπου, όπως int, double, ή char Όµως, τώρα πλέον που η Java έχει αυτόµατο boxing, αυτό δεν αποτελεί πρόβληµα Σηµείωση: οι reference types µπορεί να περιλαµβάνουν πίνακες 55 Παγίδα: Μια παράµετρος τύπου δεν µπορεί να χρησιµοποιηθεί παντού όπου και το όνοµα ενόςτύπου Μέσα στον ορισµό µιας parameterized class, υπάρχουν σηµεία όπου το όνοµα µιας κανονικής κλάσης θα επιτρεπόταν, αλλά µια παράµετρος τύπου δεν επιτρέπεται Ειδικότερα, µια παράµετρος τύπου δεν µπορεί να χρησιµοποιηθεί σε απλές εκφράσεις µε χρήση του new για να δηµιουργήσουµε ένανέο αντικείµενο Για παράδειγµα, µια παράµετρος τύπου δεν µπορεί να χρησιµοποιηθεί ως όνοµα constructor ή όπως ένας constructor: T object = new T(); T[] a = new T[10]; 56 Παγίδα: Αρχικοποίηση µιας Generic κλάσης δεν µπορεί να έχει πίνακα ως βασικό τύπο Πίνακεςόπωςστηνεπόµενηδήλωσηδεν επιτρέπονται: Pair<String>[] a = new Pair<String>[10]; Παρόλο που αυτό είναι κάτι λογικό να κάνουµε, δεν επιτρέπεται δεδοµένου τουτρόπουπουηjava υλοποιεί τις generic κλάσεις 57 19
20 Χρήση της Ordered Pair κλάσης και αυτόµατο Boxing (1/3) 58 Χρήση της Ordered Pair κλάσης και αυτόµατο Boxing (2/3) 59 Χρήση της Ordered Pair κλάσης και αυτόµατο Boxing (3/3) 60 20
21 Παγίδα: Οορισµός µιας κλάσης µπορεί να έχει περισσότερες της µιας παραµέτρους τύπου Ο ορισµός µιας generic κλάσης µπορεί να έχει οποιοδήποτε αριθµό παραµέτρων τύπου Πολλαπλές παράµετροι τύπων παρατίθονται σε angular brackets όπως και στην περίπτωση της µιας παραµέτρου τύπου, αλλά διαχωρίζονται µε κόµµα 61 Πολλαπλοί παράµετροι τύπου (1/4) 62 Πολλαπλοί παράµετροι τύπου (2/4) 63 21
22 Πολλαπλοί παράµετροι τύπου (3/4) 64 Πολλαπλοί παράµετροι τύπου (4/4) 65 Παγίδα: Μια Generic κλάση δεν µπορεί να είναι Exception κλάση εν επιτρέπεται να δηµιουργούµε generic κλάσεις µε χρήσητωνexception, Error, Throwable, ή οποιασδήποτε άλλης κλάσηςαπογόνου της Throwable εν µπορούµε να δηµιουργήσουµε µια generic κλάση της οποίας τα αντικείµενα θα είναι throwable public class GEx<T> extends Exception Το παραπάνω παράδειγµα παράγειcompiler error µήνυµα 66 22
23 Χρήση µιας Generic κλάσης µε δυο παραµέτρους τύπου (1/2) 67 Χρήση µιας Generic κλάσης µε δυο παραµέτρους τύπου (2/2) 68 Όρια για παραµέτρους τύπου Μερικές φορές είναι χρήσιµο να περιορίζουµε του πιθανούς τύπους οι οποίοι µπορεί να ενσωµατωθούν σε µια παράµετρο τύπου T Για παράδειγµα, για να είµαστε σίγουροι ότι µόνο κλάσεις που υλοποιούν το interface Comparable θα ενσωµατώνονται στο T, ορίζουµε µια κλάση ως εξής: public class RClass<T extends Comparable> "extends Comparable" υπηρετεί το ρόλο του ορίου (bound) για την παράµετρο τύπου T Οποιαδήποτε απόπειρα να ενσωµατώσουµε ένα τύπο για το T οοποίοςδενυλοποιείτοinterface Comparable θα προκαλέσει µήνυµα compiler error 69 23
24 Όρια για παραµέτρους τύπου Ένα όριο σε έναν τύπο µπορείναείναικαιτο όνοµα µιας κλάσης Τότε µόνο κλάσεις απόγονοι της χρησιµοποιούµενης κλάσης µπορούν να ενσωµατωθούν στην παράµετρο τύπου public class ExClass<T extends Class1> Μια έκφραση ορίου µπορεί να περιέχει πολλαπλά interfaces και µέχρι µια το πολύ κλάση Εάν υπάρχουν παραπάνω από µια παράµετρος τύπου, η σύνταξη είναι η εξής: public class Two<T1 extends Class1, T2 extends Class2 & Comparable> 70 Μια παράµετρος τύπου µε όρια 71 Υπόδειξη: Generic Interfaces Ένα interface µπορεί να έχει µια ή περισσότερες παραµέτρους τύπου Οι λεπτοµέρειες και ο συµβολισµός είναι οι ίδιοι όπως και για τις κλάσεις µε παραµέτρους τύπου 72 24
25 Generic µέθοδοι Όταν ορίζεται µια generic κλάση, η παράµετρος τύπου µπορεί να χρησιµοποιηθεί στους ορισµούς των µεθόδων γι αυτή τη generic κλάση Επιπλέον, µπορεί να οριστεί µια generic µέθοδος η οποία έχει τη δική της παράµετρο τύπου, η οποίαπαράµετρος δεν είναι ίδια µε καµία παράµετρο τύπου κάποιας κλάσης Μια generic µέθοδος µπορεί να είναι µέλος µια κανονικής κλάσης ή να είναι µέλος µια generic κλάσης η οποία έχει κάποια άλλη παράµετρο τύπου Η παράµετρος τύπου µιας generic µεθόδου είναι τοπική (local) στη µέθοδο, όχι στην κλάση 73 Generic µέθοδοι Ηπαράµετρος τύπου πρέπει να τοποθετείται (σε angular brackets) µετά από όλους τους modifiers, και πριν από τον επιστρεφόµενο τύπο (returned type) public static <T> T genmethod(t[] a) Όταν ενεργοποιείται µια από αυτές τις generic µεθόδους, απότοόνοµα τηςµεθόδου προηγείται ο τύπος που θα ενσωµατωθεί, περικλειόµενος σε angular brackets String s = NonG.<String>genMethod(c); 74 Κληρονοµικότητα µε Generic κλάσεις Μια generic κλάση µπορεί να οριστεί ως παραγόµενη κλάσης µιας κανονικής κλάσης ή µιας άλλης generic κλάσης Όπως και στις κανονικές κλάσεις, ένα αντικείµενο τύπου της υποκλάσης θα είναι επίσης και τύπου της υπερκλάσης εδοµένων δυο κλάσεων: A και B, και δεδοµένης της G: µιας generic κλάσης, δεν υπάρχει σχσέση µεταξύ των G<A> και G<B> Αυτό είναι αληθές ανεξάρτητα από τη σχέση µεταξύ των κλάσεων A και B, π.χ., εάν η κλάση B είναι υποκλάση της κλάσης A 75 25
26 Μια παραγόµενη Generic κλάση (1/2) 76 Μια παραγόµενη Generic κλάση (2/2) 77 Χρήση της UnorderedPair (1/2) 78 26
27 Χρήση της UnorderedPair (2/2) 79 27
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 12η: 30/08/2006 1 Generics
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 14η: 31/08/2006 1 Συλλογές
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Συλλογές και Επαναλήπτες. Συλλογές - Collections
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 14η: 31/08/2006 1 Συλλογές
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 8η: 10/05/2006 & 11/05/2006
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιεπαφές και Εσωτερικές κλάσεις Interfaces and Inner Classes. ιεπαφές - Interfaces
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 8η: 10/05/2006 & 11/05/2006
Διαβάστε περισσότεραΕργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι
Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 6η: 06/04/2006 1 ιαχείριση
Διαβάστε περισσότεραΚλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack
Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΚλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1
Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15
Οι βασικές έννοιες που θα καλύψουμε Ομαδοποίηση αντικειμένων Εισαγωγή στις συλλογές Γενικές κλάσεις Iterators Συλλογές (ειδικά την ArrayList) Συνεχίζουμε την αναφορά στο θέμα της αφαίρεσης (abstraction)
Διαβάστε περισσότερα. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014
.. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12
Διάγραμμα κλάσεων [Class diagram] Διάλεξη #12: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism] Database Music Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 6η: 06/04/2006 1 ιαχείριση
Διαβάστε περισσότεραΒασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού 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 Θα
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Αυτό-αξιολόγηση 1η: 08/02/2006 1
Διαβάστε περισσότερα. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014
.. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 13η: 30/08/2006 1 Συνδεδεµένες
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού 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: Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού 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 Θα
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects
Διαβάστε περισσότεραclass object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video
ιάγραµµα κλάσεων [Class diagram] Εβδοµάδα 2: Υπο-τύποι και πολυµορφισµός [sub-typing and polymorphism] Database Music Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Διαβάστε περισσότεραWrapper Classes, Abstract Classes and Interfaces
Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΠαύλος Εφραιµίδης. Java. Κληρονοµικότητα
κληρονοµικότητα Παύλος Εφραιµίδης 1 ιεραρχίες κλάσεων Στην (και γενικότερα στον αντικειµενοστρεφή προγραµµατισµό) µπορεί από µία κλάση να δηµιουργηθεί µια νέα κλάση απόγονος που κληρονοµεί όλα τα χαρακτηριστικά
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Παράδειγμα Κληρονομικότητας Γενικευμένες κλάσεις Παράδειγμα κληρονομικότητας Έχουμε ένα σύστημα διαχείρισης εισιτηρίων μιας συναυλίας. Το κάθε εισιτήριο έχει
Διαβάστε περισσότεραΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:
Διαβάστε περισσότεραΚληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1
Κληρονομικότητα Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Κληρονομικότητα 1 Ιεραρχίες Κλάσεων Στην Java (και γενικότερα στον αντικειμενοστραφή προγραμματισμό) μπορεί από μία να κλάση να δημιουργηθεί
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού 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 Θα
Διαβάστε περισσότεραΚλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων
Κλάσεις Τροποποιητές, ιασυνδέσεις, Πακέτα Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Πώς υλοποιούμε συσχετίσεις μεταξύ κλάσεων απλές και πολλαπλές συσχετίσεις κληρονομικότητα Static, final Overloading Overriding Hiding
Διαβάστε περισσότεραΑντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου
Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Διαβάστε περισσότεραΠεριεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5
Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Διαφορές Java και C++ ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΙΑΦΟΡΕΣ JAVA C++ Η
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Συνδεδεµένες οµές εδοµένων. Εισαγωγή στις Συνδεδεµένες οµές εδοµένων
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 13η: 30/08/2006 1 Συνδεδεµένες
Διαβάστε περισσότεραΚλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα
Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής
Διαβάστε περισσότεραH κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος
H κλάση ArrayList Γιώργος Θάνος Γραφείο Γ ος όροφος Γκλαβάνη 37 Εισαγωγικά Η κλάση ArrayList δίνει την δυνατότητα να αποθηκεύσουμε δεδομένα οποιουδήποτε τύπου σε μία δομή δεδομένων η οποία επιτρέπει τα
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 8 Πακέτα (Packages) Access
Διαβάστε περισσότεραΠρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη
9.1 Γενικά Οι εφαρµογές που δηµιουργούνται από ένα προγραµµατιστή µπορούν ανά πασά στιγµή να καταρρεύσουν από κάποιο λάθος κατά την λειτουργία τους. Αυτές οι καταστάσεις συµβαίνουν από αµέλεια του προγραµµατιστή
Διαβάστε περισσότεραΧειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:
Χειρισµός Σφαλµάτων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.12.06 Σφάλµατα, Σφάλµατα, Σφάλµατα 2 εν υπάρχουν προγράµµατα χωρίς λογικά λάθη Υλοποίηση που
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:
Διαβάστε περισσότεραΑρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Διαβάστε περισσότεραΔιαγράμματα Κλάσεων στη Σχεδίαση
Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός
Κλάσεις Αντικειμενοστραφής Προγραμματισμός Κλάσεις-Αντικείμενα Ένα παράδειγμα Συναρτήσεις κατασκευής (Constructors) Συνάρτηση καταστροφής (Destructor) Συναρτήσεις πρόσβασης (Access Functions) Συνάρτηση
Διαβάστε περισσότεραΜέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων
Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 5η: 29/03/2006 & 30/03/2006
Διαβάστε περισσότερα1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι
1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της
Διαβάστε περισσότεραint array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι
Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι
Διαβάστε περισσότεραΕξαιρέσεις. try, catch, finally, throw, throws
Εξαιρέσεις try, catch, finally, throw, throws Εξαιρέσεις Πολλές φορές όταν προγραµµατίζουµε σε κάποια γλώσσα προγραµµατισµού συµβαίνουν διάφορα σφάλµατα που οφείλονται είτε σε διάφορες αιτίες όπως σε λάθη
Διαβάστε περισσότεραΤο πρόγραμμα 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 υποστηρίζει
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της
Διαβάστε περισσότερα(Διαφάνειες Νίκου Βιδάκη)
(Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΠρογράμματα με δομή Κληρονομικότητας
Προγράμματα με δομή Κληρονομικότητας Επέκταση ιεραρχίας με νέες κλάσεις Επέκταση ιεραρχίας με νέες κλάσεις Οι κλάσεις που δεν προορίζονται για δημιουργία στιγμιοτύπων, αλλά προορίζονται να χρησιμοποιηθούν
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 3η: 08/03/2006 & 09/03/2006
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D.
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 9η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
Διαβάστε περισσότεραΜέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης
Αντικειµενοστραφής Σχεδίαση Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Μέθοδοι Στα πρώτα στάδια της γράφουµε µόνο τα ονόµατα των µεθόδων Γράφουµε τις
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΜπορείτε να δηλώσετε πίνακα οποιουδήποτε τύπου είτε βασικού είτε κλάσης:
4. Πίνακες Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δηλώνετε και να δημιουργείτε πίνακες βασικών τύπων, κλάσεων ή άλλων πινάκων Να δηλώνετε την ανάγκη, και να μπορείτε να αρχικοποιήσετε τα στοιχεία
Διαβάστε περισσότεραΗΓλώσσαΠρογραµµατισµού C++ (The C++ Programming Language)
1 ΗΓλώσσαΠρογραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Ελένη Τουσίδου, Ph.D. Χειµώνας 2006 ιάλεξη 4η 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall06.htm
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 10η: 07/06/2006 & 08/06/2006
Διαβάστε περισσότεραGenerics και ArrayLists
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Generics και ArrayLists Προσοχή!!! Να εκτελεστούν πρώτα όλες οι ασκήσεις τις Θεωρίας
Διαβάστε περισσότεραΕΞΑΙΡΕΣΕΙΣ. Εξαιρέσεις προκαλούνται. από το σύστηµα. από το πρόγραµµα
ΕΞΑΙΡΕΣΕΙΣ Εξαίρεση (Exception): Ένα συµβάν κατά τον χρόνο εκτέλεσης (π.χ. αδυναµία ανοίγµατος αρχείου ή ανάγνωσης πληροφορίας, µη ύπαρξη αντικειµένου στη στοίβα) που απαιτεί ειδικό χειρισµό. Ονοµάζεται
Διαβάστε περισσότεραυναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 είκτες
υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: είκτες στη C++ Οι τελεστές new και delete Destructors Ορισµός τελεστών κλάσεων Ο δείκτης this ΕΠΛ 132 Αρχές Προγραµµατισµού
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού 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
Διαβάστε περισσότεραΕισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
Διαβάστε περισσότεραΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης
ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 11: Χειρισμός Σφαλμάτων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Παράδειγμα Κληρονομικότητας Γενικευμένες κλάσεις Συλλογές Από το προηγούμενο lab Είχαμε την κλάση Document, και δύο παραγόμενες κλάσεις: TextFile, Email Document
Διαβάστε περισσότεραΠρογραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13
Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Κληρονομικότητα ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Πώς υλοποιούμε συσχετίσεις μεταξύ κλάσεων απλές και πολλαπλές συσχετίσεις κληρονομικότητα Static, final Overloading Overriding Hiding
Διαβάστε περισσότεραΕργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω.
Εργαλεία του JDK Β.1 Εργαλεία του JDK Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. O µεταγλωττιστής (compiler) της Java javac. O διερµηνευτής (interpreter) της Java java. Το υπεύθυνο εργαλείο για
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 6: Threads Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΔομές Δεδομένων Boost C++ Libraries. 23/3/2017 ΜΠΟΜΠΟΤΑΣ ΑΓΟΡΑΚΗΣ
Δομές Δεδομένων Boost C++ Libraries 23/3/2017 ΜΠΟΜΠΟΤΑΣ ΑΓΟΡΑΚΗΣ mpompotas@ceid.upatras.gr Εισαγωγή - Boost H Boost είναι μια συλλογή με περισσότερες από 50 βιβλιοθήκες για τη C++. Πολλοί χρήστες ξεκινούν
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΗΓλώσσαΠρογραµµατισµού 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
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 14: Γενικός Κώδικας (Generics) Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραWeek. 6: Java Collections
Week 6: Java Collections Συλλογές δεδοµένων [collections] Εβδοµάδα 6: Συλλογές δεδοµένων στην Java Οι συλλογές [collections] (αναφέρονται και ως «υποδοχείς δεδοµένων» [containers]) είναι κλάσεις που χρησιµοποιούνται
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 7η 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Αλφαριθµητικά Κλάση string
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 7η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότερα