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