Κλάσεις. Τροποποιητές, Πακέτα, ιασυνδέσεις. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων
|
|
- Ἰεζάβελ Βέργας
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Κλάσεις Τροποποιητές, Πακέτα, ιασυνδέσεις Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος της µεθόδου ή της µεταβλητής. Σε αυτή την περίπτωση η µέθοδος ή η µεταβλητή είναι ορατή σε κάθε κλάση µέσα στο ίδιο πακέτο. Οποιαδήποτε κλάσητουπακέτουµπορείναδιαβάσειήακόµηκαινα τροποποιήσει µια µεταβλητή αυτής της κατηγορίας και µπορεί επίσης και να χρησιµοποιήσει κάθε µέθοδο της κατηγορίας αυτής. Private: εν µπορεί καµιά άλλη κλάση να έχει προσπέλαση στις private µεταβλητές ή µεθόδους µιας κλάσης. Public: Κάθε κλάση µπορεί να έχει προσπέλαση σε µεταβλητές ή µεθόδους αυτής της κατηγορίας. Protected: Οι µέθοδοι και οι µεταβλητές αυτής της κατηγορίας µπορούν να προσπελαστούν τόσο από υποκλάσεις όσο και από κλάσεις που βρίσκονται στο ίδιο πακέτο. (Σηµείωση οι κλάσεις ενόςπακέτουδενανήκουνπάνταστοίδιοπακέτοµετις υπερκλάσειςσους).
2 Κλάσεις και κληρονοµικότητα Μια κλάση µπορεί να κληρονοµεί: Από προηγούµενα ορισµένες από το χρήστη κλάσεις (extends ->κληρονοµικότητα) Από µια κλάση της βασικής βιβλιοθήκης των κλάσεων (import ->έτοιµηβιβλιοθήκη) Έλεγχος προσπέλασης και υπέρβαση µεθόδου Αν σε µία δευτερεύουσα κλάση γίνεται υπέρβαση µιας µεθόδου πρέπει να ληφθεί υπόψη ο τροποποιητής προσπέλασης της αντίστοιχης µεθόδου της υπερκλάσης προκειµένου να αποφασιστεί ο τροποποιητής ελέγχου προσπέλασης της µεθόδου της υποκλάσης. Ο γενικότερος κανόνας που ισχύει σε αυτές τις περιπτώσεις λέει πωςδενµπορείναγίνειυπέρβασηµιαςµεθόδουκαιηµέθοδοςτης δευτερεύουσας κλάσης να είναι πιο περισσότερο ιδιωτική από αυτή της υπερκλάσης. Αντιθέτως µπορεί να γίνει περισσότερο δηµόσια. Πιο συγκεκριµένα οι κανόνες ανάλογα µε τον τροποποιητή ελέγχου της µεθόδου της υπερκλάσης έχουν ως εξής: Οι µέθοδοι που δηλώνονται σαν public στην υπερκλάση πρέπει υποχρεωτικά να είναι public σε όλες τις δευτερεύουσες κλάσεις. Οι µέθοδοι που δηλώνονται σαν protected στην υπερκλάση µπορεί ναείναι protected ή public στιςυποκλάσεις. Οι µέθοδοι που δεν έχουν τροποποιητή (default) µπορούν να δηλώνονται είτε χωρίς τροποποιητή (default) είτε protected είτε public. Για τις private δεν υπάρχει θέµα γιατί δεν κληρονοµούνται.
3 Προσπέλαση µεταβλητών που έχουν δηλωθεί private Η µεταβλητή που έχει δηλωθεί private δεν είναι ορατή σε άλλες κλάσεις. Κάποιες φορές όµως είναι απαραίτητο κάποια άλλη κλάση ναθέσειήναδιαβάσειτηντιµήµιαςµεταβλητής. Σε αυτές τις περιπτώσεις χρησιµοποιούνται µέθοδοι (που δεν είναι private) οι οποίες δίνουν µε έµµεσο τρόπο την δυνατότητα να δωθεί µια τιµή σε private µεταβλητή ή να διαβαστεί η τιµή της µεταβλητής από κάποια µέθοδο. Στις µεθόδους αυτές συνήθως δίνουµε ονόµατα που ξεκινούν µε set ή get. (Συνηθίζεται αυτό στις γλώσσες αντικειµενοστρεφούς προγραµµατισµού χωρίς να είναι υποχρεωτικό). Παράδειγµα: public class access_method { private int x; public void set_x(int k){ x=k; public int get_x(){ return x; public class access_main { public static void main(string args[]){ access_method item = new access_method(); item.set_x(5); System.out.println("h timh tou x einai "+item.get_x()); Τροποποιητής static Η λέξη κλειδί static χρησιµοποιείται για να δηλώσουµε µεθόδους και µεταβλητές κλάσης. Ο τρόπος προσπέλασης των µεταβλητών κλάσης γίνεται µε το όνοµα της κλάσης ακολουθούµενο από µια τελεία και το όνοµα της µεταβλητής ή της µεθόδου. Μπορεί να χρησιµοποιηθεί και το όνοµα του αντικειµένου ακολουθούµενουαπόµιατελείακαιτοόνοµατηςµεθόδουήτης µεταβλητής αλλά καλό είναι να αποφεύγεται. Αντιθέτως οι µεταβλητές υπόστασης (αντικειµένου) θα πρέπει να χρησιµοποιούνται µε το όνοµα του αντικειµένου και όχι µε το όνοµα της κλάσης. Οι µεταβλητές κλάσης αρχικοποιούνται όταν δηµιουργείται η κλάση. Στο παράδειγµα που ακολουθεί υπάρχει µεταβλητή και µέθοδος static. Η µεταβλητή υπολογίζει το πλήθος των αντικειµένων που δηµιουργούνται. Η µεταβλητή αυτή δεν έχει σχέση µε κάποιο συγκεκριµένο αντικείµενο αλλά µε το πλήθος των αντικειµένων. Για το λόγο αυτό δηλώνεται ως static.
4 public class metrhsh_antikeimenwn { private static int numinstances=0; protected static int getnuminstances(){ return numinstances; private static void addinstance(){ numinstances++; metrhsh_antikeimenwn(){ metrhsh_antikeimenwn.addinstance(); public static void main(string args[]){ System.out.println( Αρχήµε " + metrhsh_antikeimenwn.getnuminstances() +" αντικείµενα"); for (int i=0; i<10; ++i) new metrhsh_antikeimenwn(); System.out.println( Σύνολο: + metrhsh_antikeimenwn.getnuminstances() + αντικείµενα"); Αποτέλεσµα Αρχή µε 0 αντικείµενα Σύνολο: 10 αντικείµενα Τροποποιητής final Χρησιµοποιείται µε κλάσεις, µεθόδους, µεταβλητές. Κλάσεις: Μία κλάση που δηλώνεται final δεν µπορεί να έχει υποκλάσεις Μέθοδοι: Σε µία µέθοδο final δεν µπορεί να γίνει υπέρβασή της από µέθοδο σεδευτερεύουσακλάση. Μία µέθοδος δηλώνεται final µόνο και µόνο για να επιτύχουµε υψηλότερες ταχύτητες. Αυτό επιτυγχάνεται ως εξής: όταν καλείται µία µέθοδος ο µεταγλωττιστής java ελέγχει πρώτα αν υπάρχει η µέθοδος στην τρέχουσα κλάση και στη συνέχεια την αναζητά στην υπερκλάση και συνεχίζει ώσπου να την βρεί. Αν όµως η µέθοδος δηλωθεί final ο µεταγλωττιστής τοποθετεί εκτελέσιµο bytecode στην κλάση που καλεί την µέθοδο και η ταχύτητα του προγράµµατος βελτιώνεται. Χρειάζεται προσοχή η δήλωση µιας µεθόδου ως final γιατίπρέπειναελεχθείαπότηναρχήανθαχρειαστείναγίνει υπέρβαση αυτής στη συνέχεια ή όχι. Οι µέθοδοι private είναι final εξ ορισµού γιατί δεν µπορεί να γίνει υπέρβαση αυτών στη συνέχεια Μεταβλητές: Μία µεταβλητή final δεν µπορεί να αλλάξει τιµή. Με τις µεταβλητές ο τροποποιητής χρησιµοποιείται συνήθως µε τον τροποποιητή static γιατί αν η τιµή δεν αλλάξει ποτέ δεν υπάρχει λόγος κάθε αντικείµενο ναέχειτοδικότουαντίγραφοτιµής. Μία κλάση που δηλώνεται final δεν µπορεί να χρησιµοποιηθεί σε υποκλάσειςαλλάυπάρχουνκαιεδώκάποιαοφέληόπωςστιςµεθόδους. Μερικέςγνωστές final κλάσειςείναιοι String, Math (java.lang.string, java.lang.math).
5 Τροποποιητής abstract Κάθε φορά που δηµιουργείται µία ιεραρχία κλάσεων συλλέγονται οι κοινές συµπεριφορές και ιδιότητες όσο πιο ψηλά γίνεται στην ιεραρχία. Μερικές φορές φτάνοντας στην κορυφή της ιεραρχίας δεν υπάρχει συγκεκριµένη κοινή συµπεριφορά για να κληρονοµηθεί. Σε αυτές τις περιπτώσεις ορίζονται abstract µέθοδοι που είναι ουσιαστικά υπογραφές µεθόδων χωρίς υλοποίηση. Οι µέθοδοι δηλώνονται τότε ως abstract και οι κλάσεις που τις περιέχουν ορίζονται abstract επίσης. Αν µία κλάση έχει τουλάχιστον µία abstract µέθοδο είναι και εκείνη abstract. Οι abstract κλάσεις χρησιµοποιούνται µόνο για να ορίσουν γενικές έννοιες από τις οποίες εκπορεύονται συγκεκριµένες κλάσεις. abstract class Shape { private double x, y; public double get_x() { return x; public double get_y() { return y; public void shmeio(double cor_x, double cor_y ) { this.x = cor_x; this.y = cor_y; public abstract double area(); public String tostring() { return "Shape(x=" + x + ", y=" + y + ", area=" + area() + ")";
6 class Rectangle extends Shape { private double height, width; public void setdimensions(double h, double w) { height = h; width = w; public double area() { return height * width; public String tostring() { return super.tostring() + ": Rectangle(" + height + " * " + width + ")"; class Circle extends Shape { private double radius; public void setradius(double r) { radius = r; public double area() { return Math.PI * radius * radius; public String tostring() { return super.tostring() + ": Circle(" + radius + ")"; public class Shape_main { static public void main(string args[ ]) { Circle c = new Circle(); Rectangle r = new Rectangle(); Shape s[] = new Shape[2]; s[0] = r; r.shmeio(5, 8); r.setdimensions(50, 50); s[1] = c; c.shmeio(2, 6); c.setradius(10); for (int i = 0; i < s.length; i++) System.out.println(s[i]);
7 Πακέτα Ένας τρόπος οργάνωσης των κλάσεων στη java είναι η χρησιµοποίηση πακέτων. Πακέτα έχουµε χρησιµοποιήσει έως τώρα µε την εντολή import. Κάθε πακέτο περιλαµβάνει έναν αριθµό κλάσεων στην java που σχετίζονται µεταξύ τους είτε γιατί ικανοποιούν τους στόχους µιας εφαρµογής, είτε γιατί υλοποιούν κάποιο δέντρο κληρονοµικότητας είτε για οποιαδήποτε άλλο σκοπό αποφασίσει ο προγραµµατιστής να τις οργανώσει στο ίδιο πακέτο. Η οργάνωση των κλάσεων σε πακέτα διευκολύνει την καλύτερη οργάνωση των προγραµµάτων. Μειώνονται τα προβλήµατα µε την χρήση ίδιων ονοµάτων. Προστατεύεται η κατά λάθος πρόσβασησεκλάσεις, µεθόδουςκαιµεταβλητές. Ταπακέταµπορούνεπίσηςναπεριλαµβάνουνάλλαπακέτα. Επιτυγχάνεται έτσι καλύτερη οργάνωση των κλάσεων. Αν δεν δηµιουργήσουµε πακέτο για τις κλάσεις µας αυτές αυτόµατα τοποθετούνται στο default package. Για να εισάγω κλάσεις από ένα πακέτο χρησιµοποιώ την εντολή import. Ακολουθεί το όνοµα του πακέτου και στη συνέχεια το όνοµα της κλάσης. Όταν θέλω να εισάγω όλες τις κλάσεις ενός πακέτου βάζω *. Για παράδειγµα: import java.awt.* Από τις κλάσεις του πακέτου εισάγονται µόνο αυτές που ζητούνται στηνκλάσηκαιστιςοποίεςητρέχουσακλάσηµπορείναέχει προσπέλαση δηλαδή να είναι public Ηχρήσητου * γιαταπακέταδιαφέρειλίγοαπόαυτήνγιατααρχείακαιτους φακέλους. Καταρχήνότανκάνω import όλεςτιςκλάσειςενόςπακέτουµε * δενκάνω import καιόλεςτιςκλάσειςπουανήκουνσεπακέτακάτωαπότο πακέτοπουκάνω import. Ανθέλωναεισάγωκαιτιςκλάσειςόλωντων πακέτων που είναι κάτω από το πακέτο µου πρέπει να εισάγω χειρονακτικά κάθε πακέτο. Επίσης δεν υπάρχει η δυνατότητα να εισάγω µόνο τις κλάσεις του πακέτου που αρχίζουν από κάποιο γράµµα (να γράψω για παράδειγµα import packet1.s*). Γιαναδηλώσωότιηκλάσηπουδηµιουργώανήκεισεκάποιοπακέτο γράφω package όνοµα πακέτου ; Ηδήλωσηαυτήπρέπειναείναιηπρώτηγραµµήστονκωδικά µουκαι ακολουθούν οι import για όσα πακέτα θέλω να κάνω import στην κλάση µου και τέλος ο ορισµός της κλάσης. Για παράδειγµα: package paketo1; import java.awt.*; import java.lang.*; public class mypaketo { //σώµα της κλάσης Ανσεµίακλάσηεισάγωδύοήπερισσότεραπακέταµε 2 κλάσειςπουέχουν το ίδιο όνοµα ο µεταγλωττιστής θα δείξει λάθος. Απαιτείται προσοχή στα ονόµατα που χρησιµοποιούνται.
8 ιασυνδέσεις Οι διασυνδέσεις παρέχουν πρότυπα συµπεριφοράς που αναµένεται να υλοποιήσουν άλλες κλάσεις όπως ακριβώς συµβαίνει µε τις abstract κλάσεις και µεθόδους. Πολλές φορές χρειάζεται κάποιες κλάσεις να κληρονοµήσουν συµπεριφορές από περισσότερες από µία κλάσεις ενός δέντρου ιεραρχίας. Στις περιπτώσεις αυτές χρησιµοποιείται µία άλλη ιεραρχία πέρα από την ιεραρχία των κλάσεων που ονοµάζεται ιεραρχία διασυνδέσεων. Μια διασύνδεση αποτελείται από ορισµούς αφηρηµένων µεθόδων ή από σταθερές. Μπορεί να αποτελείται µόνο από αφηρηµένες µεθόδους ή µόνο από σταθερές ή και τα δύο. εν περιέχει µεταβλητές αντικειµένουούτευλοποιήσειςµεθόδων. Για να δηλώσω πως µία κλάση υλοποιεί µία διασύνδεση χρησιµοποιώ τη λέξη κλειδί implements. Μιακλάσηµπορείνακληρονοµείαπόµίακύριακλάσηκαιναυλοποιεί µία ή περισσότερες διασυνδέσεις. Στην περίπτωση αυτή γράφω όλες τις διασυνδέσεις χωρισµένες µε κόµµατα. Χρειάζεται όµως προσοχή στο ποιές και πόσες διασυνδέσεις θα υλοποιεί η κλάση µου γιατί ισχύει ο παρακάτω κανόνας: Αν υλοποιηθεί µια διασύνδεση πρέπει να υλοποιηθούν όλες οι µέθοδοι αυτής και όχι µόνο αυτές που πιθανόν χρειαζόµαστε. ιασυνδέσεις (συνέχεια) Εξαίρεση στον προηγούµενο κανόνα αποτελεί η περίπτωση µερικής υλοποίησης που συµβαίνει σε κλάσεις που δηλώνονται abstract. Οι κλάσεις αυτές αν και υλοποιούν µια διασύνδεση δεν είναι υποχρεωτικό να υλοποιούν όλες τις µεθόδους της διασύνδεσης. Αν µία κλάση υλοποιήσει µία διασύνδεση τότε όλες οι δευτερεύουσες κλάσεις αυτής κληρονοµούν τις µεθόδους της διασύνδεσης και µπορούν να τις υπερβούν, να τις υπερφορτώσουν σαν να τις είχε ορίσει η αρχική κλάση. Έτσι αν η υπερκλάση υλοποιεί µια διασύνδεση δεν χρειάζεται να οριστεί η λέξη κλειδί implements στην δευτερεύουσα κλάση. Έχει αυτόµατα κληρονοµήσει όλες τις µεθόδους της διασύνδεσης. Οι διασυνδέσεις οργανώνονται σε ιεραρχία όπως συµβαίνει µε τις κλάσεις. ηλαδή µία διασύνδεση µπορεί να κληρονοµεί από µία ή περισσότερες διασυνδέσεις. Για να δηλωθεί πως µία διασύνδεση κληρονοµεί από άλλες χρησιµοποιείται η λέξη κλειδί extends (όπως και στις κλάσεις) και ακολουθούν τα ονόµατα των υπερ διασυνδέσεων χωρισµένα µε κόµµατα.
9 Χρήση διασυνδέσεων και ορισµός νέων Για να χρησιµοποιήσω (υλοποιήσω) µια διασύνδεση σε µία κλάση χρησιµοποιώ τη λέξη κλειδί implements. Αν επιπλέον η κλάση µου κληρονοµεί και από µία υπερκλάση αυτά όλα δηλώνονται στη γραµµή ορισµού της κλάσης όπως φαίνεται στο παράδειγµα που ακολουθεί. Στην περίπτωση που έχω περισσότερες από µία διασυνδέσεις τις χωρίζω µε κόµµατα. Για παράδειγµα: public class όνοµακλάσης extends όνοµαυπερκλάσης implements όνοµαδιασύνδεσης1, όνοµαδιασύνδεσης2,...{ // κώδικας της κλάσης µου Για να ορίσω τις δικές µου διασυνδέσεις χρησιµοποιώ τη λέξη κλειδί interface. Μέσα στο σώµα των διασυνδέσεων έχω µόνο αφηρηµένες µεθόδουςήσταθερέςήκαιταδύο. Ανηδιασύνδεσήµουείναι public oι µέθοδοί µου είναι public και abstract, ενώ οι σταθερές µου είναι public, static και final έστω και αν δεν δηλωθούν έτσι. εν µπορώ να δηλώσωµιαµέθοδοσεµίαδιασύνδεσησαν protected ή private. Επίσης οι µέθοδοι πρέπει να είναι χωρίς σώµα. Το σώµα το υλοποιούν οι κλάσεις που θα υλοποιήσουν την διασύνδεση. είτε το παρακάτω παράδειγµα: public interface όνοµαδιασύνδεσης { public static final τύποςµεταβλητής1 όνοµαµεταβλητής 1= ; τύπος µεταβλητής1 όνοµα µεταβλητής 1= ; //ουσιαστικά είναι public static και final public abstract τύπος επιστροφής µεθόδου όνοµα µεθόδου 1() ; τύπος επιστροφής µεθόδου όνοµα µεθόδου 2() ; //ουσιαστικά είναι public και abstract ηµιουργία νέας διασύνδεσης και δήλωση µεταβλητής της εν µπορώ να χρησιµοποιήσω τη λέξη new για µία διασύνδεση. Μπορώ όµως να δηλώσω µία µεταβλητή να είναι ενός τύπου διασύνδεσης. Στο παράδειγµα που ακολουθεί ορίζω µία διασύνδεση και µία κλάση που την υλοποιεί. public interface myinterface { void metod1(int a); // ορίζωµίαµέθοδοχωρίςσώµα public class myclass implements myinterface{ public void metod1(int a){ // ακολουθεί η υλοποίηση του σώµατος της µεθόδου της διασύνδεσης System.out.println("this is my interface's methodos "+a); public void metod2(){ // µέθοδοςκλάσηςκαιόχιδιασύνδεσης System.out.println("this is my class's methodos"); public static void main(string args[]){ // ορίζω µία µεταβλητή τύπου myinterface myinterface antik=new myclass(); myclass item=new myclass(); antik.metod1(5); //antik.metod2(); //antik είναι µεταβλητή τύπου myinterface εποµένως δεν έχει τη metod2() item.metod1(10); //item είναι µεταβλητή τύπου myclass εποµένως δεν τη metod2() item.metod2();
10 Παράδειγµα ίνεταιέναπαράδειγµαχρήσηςδιασυνδέσεων, κλάσεωνκαικληρονοµικότητας. Ας υποθέσουµε ότι έχουµε την διασύνδεση machine και την διασύνδεση oxhma Η δεύτερη διασύνδεση oxhma, κληρονοµεί από την διασύνδεση metaforiko_meso και την διασύνδεση person_machine. Έχουµε επίσης την κλάση tetratroxo και την υποκλάση της car. Η κλάση car κληρονοµεί από την tetratroxo και υλοποιεί τις διασυνδέσεις oxhma και machine. Να δούµε ποιές µέθοδοι και πως υλοποιούνται στηνκλάση car.
11 Μέθοδοι και πολλές διασυνδέσεις Μίακλάσηανκαικληρονοµείαπόµίακαιµόνοκλάσηµπορείνα υλοποιεί παραπάνω από µία διασυνδέσεις όπως φάνηκε από το προηγούµενοπαράδειγµα. Υπάρχει όµως το ενδεχόµενο κάθε φορά που µία κλάση υλοποιεί παραπάνω από µία διασυνδέσεις να βρεθεί µέθοδος µε το ίδιο όνοµα και στις δύο διασυνδέσεις. Στις περιπτώσεις αυτές αν οι µέθοδοι έχουν ίδιες παραµέτρους και επιστρεφόµενο τύπο υλοποιείται η µέθοδος και ικανοποιεί και τις δύο διασυνδέσεις. Αν οι µέθοδοι έχουν διαφορετική λίστα παραµέτρων και επιστρέφουν τον ίδιο τύπο υλοποιούνται και οι δύο µέθοδοι και όπως συµβαίνει στην υπερφόρτωση µεθόδων είναι γνωστό ποιά µέθοδος αντιστοιχεί σε κάθε διασύνδεση. Ανοιµέθοδοιδενέχουντονίδιοεπιστρεφόµενοτύποτότεπρέπεινα ελεχθεί η σχεδίαση των διασυνδέσεων γιατί υπάρχει πρόβληµα. Γενικότερα απαιτείται προσεχτικός σχεδιασµός των κλάσεων και των διασυνδέσεων και προσοχή στην ονοµατολογία προκειµένου να αποφευχθεί η άσκοπη χρήση του ίδιου ονόµατος µεθόδου σε περισσότερες από µία διασυνδέσεις. Πηγές και Προτεινόµενη Βιβλιογραφία ιαδικτυακόςπρογραµµατισµός: JAVA εκδότης Σταµούλης Η βίβλος της Java 2 εκδότης Μ. Γκιούρδας Πλήρες εγχειρίδιο της Java 6 εκδότης Μ. Γκιούρδας Thinking in Java published by Prentice-Hall
Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων
Κλάσεις Τροποποιητές, ιασυνδέσεις, Πακέτα Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΒασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΑντικειµενοστραφής Προγραµµατισµός
Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ
Διαβάστε περισσότεραΜέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων
Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου
Διαβάστε περισσότεραΠακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD
(Object Oriented Programming) Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Πακέτα (Packages) Φωλιασμένες
Διαβάστε περισσότεραΚλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα
Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής
Διαβάστε περισσότεραΠαύλος Εφραιµίδης. Java. Κληρονοµικότητα
κληρονοµικότητα Παύλος Εφραιµίδης 1 ιεραρχίες κλάσεων Στην (και γενικότερα στον αντικειµενοστρεφή προγραµµατισµό) µπορεί από µία κλάση να δηµιουργηθεί µια νέα κλάση απόγονος που κληρονοµεί όλα τα χαρακτηριστικά
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 8 Πακέτα (Packages) Access
Διαβάστε περισσότεραΤο πρόγραμμα 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 υποστηρίζει
Διαβάστε περισσότεραΥπερφόρτωση (Overloading) Υπέρβαση (Overriding) - Upcasting Downcasting Final classes, methods
(Object Oriented Programming) Υπερφόρτωση (Overloading) Υπέρβαση (Overriding) - Upcasting Downcasting Final classes, methods PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος
Διαβάστε περισσότεραΚληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1
Κληρονομικότητα Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Κληρονομικότητα 1 Ιεραρχίες Κλάσεων Στην Java (και γενικότερα στον αντικειμενοστραφή προγραμματισμό) μπορεί από μία να κλάση να δημιουργηθεί
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Κληρονομικότητα ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
Διαβάστε περισσότεραΚλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1
Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΚλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack
Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 2: Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραWrapper Classes, Abstract Classes and Interfaces
Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13
Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις
Διαβάστε περισσότερα1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι
1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της
Διαβάστε περισσότερα02 Αντικειμενοστρεφής Προγραμματισμός
02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object
Διαβάστε περισσότεραΕισαγωγή στον Προγ/μό Η/Υ
Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός
Διαβάστε περισσότεραΔιασυνδέσεις / Διεπαφές. Παναγιώτης Σφέτσος, PhD
(Object Oriented Programming) Διασυνδέσεις / Διεπαφές PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Διεπαφές/Διασυνδέσεις (Interfaces) 2 Διεπαφές/Διασυνδέσεις (Interfaces)
Διαβάστε περισσότερα. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014
.. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία
Διαβάστε περισσότεραΚληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις.
Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις. Μέσω της κληρονομικότητας μπορούμε να δημιουργήσουμε µια νέα τάξη (θυγατρική)
Διαβάστε περισσότεραΚατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΠρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη
9.1 Γενικά Οι εφαρµογές που δηµιουργούνται από ένα προγραµµατιστή µπορούν ανά πασά στιγµή να καταρρεύσουν από κάποιο λάθος κατά την λειτουργία τους. Αυτές οι καταστάσεις συµβαίνουν από αµέλεια του προγραµµατιστή
Διαβάστε περισσότεραΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA
Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)
Διαβάστε περισσότεραΣύνθεση και Κληρονομικότητα
Σύνθεση και Κληρονομικότητα Σύνθεση (composition) Κληρονομικότητα (inheritance) Υπερφόρτωση κληρονομημένων μελών Εικονικές συναρτήσεις και Πολυμορφισμός Αφηρημένες (abstract) βασικές κλάσεις 1 Σύνθεση
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ INTERFACES ΕΣΩΤΕΡΙΚΕΣ ΚΛΑΣΕΙΣ (INNER CLASSES) Αφηρημένες Κλάσεις (Abstract Classes) (1/6) Οι αφηρημένες κλάσεις χρησιμοποιούνται για την
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραHelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07
Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ Java 2
Προγραµµατισµός ΙΙ Java 2 ηµιουργική Εργασία µε Κλάσεις κι Αντικείµενα Τι Θα Μελετήσουµε οµή µιας κλάσης και των µεθόδων της Επιθεώρηση των κλάσεων και των µεθόδων τους Μέθοδοι και this Υπερφόρτωση µεθόδων
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Μ έ θ ο δ ο ι Οι μέθοδοι είναι εκείνα τα τμήματα του κώδικα όπου εκτελούνται οι ουσιαστικές
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
Διαβάστε περισσότερα5.1 ηµιουργία αντικειµένων
5.1 ηµιουργία αντικειµένων Για την δηµιουργία οµότυπου µιας κλάση χρησιµοποιείται η παρακάτω σύνταξη. : class Program {.. Program myprogram
Διαβάστε περισσότεραΣύνθεση και Κληρονομικότητα
Σύνθεση και Κληρονομικότητα Σύνθεση (composition) Κληρονομικότητα (inheritance) Υπερφόρτωση κληρονομημένων μελών Εικονικές συναρτήσεις και Πολυμορφισμός Αφηρημένες (abstract) βασικές κλάσεις 1 Σύνθεση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις Στατικές μέθοδοι Τι σημαίνει το keyword static στον ορισμό της main μεθόδου? Τι είναι μια στατική μέθοδος?
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 15: Σχεδίαση Εφαρμογών Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότεραΕργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι
Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Κληρονομικότητα (Inheritance) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κληρονομικότητα και Επαναχρησιμοποίηση - Υποκλάσεις/Υπερκλάσεις - Απόκρυψη ονομάτων - Το super, protected
Διαβάστε περισσότεραΔιάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Υπερφόρτωση (Overloading), Μεθόδων (Method Overloading), Τελεστών (Operator Overloading (C++, C#))
Διαβάστε περισσότερα(Διαφάνειες Νίκου Βιδάκη)
(Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό
Διαβάστε περισσότεραΑντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων
Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,
Διαβάστε περισσότεραΕξαιρέσεις. try, catch, finally, throw, throws
Εξαιρέσεις try, catch, finally, throw, throws Εξαιρέσεις Πολλές φορές όταν προγραµµατίζουµε σε κάποια γλώσσα προγραµµατισµού συµβαίνουν διάφορα σφάλµατα που οφείλονται είτε σε διάφορες αιτίες όπως σε λάθη
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους Σύνοψη των βασικών λειτουργιών
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 7: Ενθυλάκωση (encapsulation), Τροποποιητές(modifiers) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ενθυλάκωση -Τροποποιητές Πρόσβασης (Access Modifiers), public, protected, private,
Διαβάστε περισσότεραΠρογράμματα με δομή Κληρονομικότητας
Προγράμματα με δομή Κληρονομικότητας Επέκταση ιεραρχίας με νέες κλάσεις Επέκταση ιεραρχίας με νέες κλάσεις Οι κλάσεις που δεν προορίζονται για δημιουργία στιγμιοτύπων, αλλά προορίζονται να χρησιμοποιηθούν
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 Συνέχεια Αναδρομής (recursion): Ο αλγόριθμος του Ευκλείδη για τον Μέγιστο Κοινό Διαιρέτη (ΜΚΔ) με αναδρομή: p, αν q=0 (βασική περίπτωση)
Διαβάστε περισσότεραΚεφάλαιο 15 Γλώσσα προγραμματισμού Java
Κεφάλαιο 15 Γλώσσα προγραμματισμού Java Περιεχόμενα 15.1 Δομή της Java... 280 15.1.1 Βασικοί Τύποι... 283 15.1.2 Κλάσεις, Αντικείμενα, και Μέθοδοι... 286 15.1.3 Πίνακες... 290 15.1.4 Η κλάση String...
Διαβάστε περισσότεραΕισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
Διαβάστε περισσότεραΗ λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr
Διαβάστε περισσότεραΚαλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!
Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2016-17, Χειμερινό Εξάμηνο Τελική Εξέταση
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. α) Δημιουργήστε μια κλάση αντικειμένων Tetragono η οποία
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1/3) Στην αρχή της κληρονομικότητας βασίζεται ο σχεδιασμός και η υλοποίηση συστημάτων Η κληρονομικότητα χρησιμοποιείται
Διαβάστε περισσότεραΔομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα. http://aetos.it.teithe.gr/~demos/teaching_gr.
Δομές Δεδομένων & Ανάλυση Αλγορίθμων 3ο Εξάμηνο Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα http://aetos.it.teithe.gr/~demos/teaching_gr.html Δημοσθένης Σταμάτης Τμήμα Μηχανικών Πληροφορικής ATEI ΘΕΣΣΑΛΟΝΙΚΗΣ
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βιβλιοθήκες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΒΙΒΛΙΟΘΗΚΗ JAVA ΒΑΣΙΚΗ ΒΙΒΛΙΟΘΗΚΗ
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 6: Threads Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΠρογραμματισμός Διαδικτύου
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Προγραμματισμός Διαδικτύου Ενότητα 3 : Κατηγορίες και κληρονομικότητα Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors)
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 5 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων,
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι
Διαβάστε περισσότεραΑντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου
Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12
Διάγραμμα κλάσεων [Class diagram] Διάλεξη #12: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism] Database Music Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Πώς υλοποιούμε συσχετίσεις μεταξύ κλάσεων απλές και πολλαπλές συσχετίσεις κληρονομικότητα Static, final Overloading Overriding Hiding
Διαβάστε περισσότεραOι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω:
3 ΣTOIBEΣ KAI OYPEΣ 3.1 ΣΤΟΙΒΕΣ Στοίβα (stack) είναι µία λίστα στην οποία νέα στοιχεία µπορούν να προστεθούν και να αφαιρεθούν µόνο από τη µία άκρη της (κορυφή της στοίβας). Συχνά µία στοίβα αναφέρεται
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Σχεδίαση Κλάσεων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός
Διαβάστε περισσότεραMεταβλητές (variables) και Σταθερές (constants)
Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότερα12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)
exercise 6new_10 12/5/2008 12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006) 12.6.1. Περιγραφή Θεωρήστε την γραφική διεπαφή της αριθµοµηχανής των MS Windows. Μια παρόµοια διεπαφή (δες
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΑρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 17
Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1 Εισαγωγή... 19 Τι είναι η Java... 19 Η ιστορία της Java... 23 Εκδόσεις της Java... 25 Ξεκίνημα με την Java... 27 Το περιβάλλον της γλώσσας... 31 Δημιουργία μιας εφαρμογής
Διαβάστε περισσότεραΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης
ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι Μαθήματα από το lab Boolean μεταβλητές: Συνήθως τα ονόματα που δίνουμε στις boolean μεταβλητές περιγράφουν
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Διαβάστε περισσότεραΠρογράμματα με δομή Κληρονομικότητας
Προγράμματα με δομή Κληρονομικότητας Η μέθοδος print της εφαρμογής DoME Η μέθοδος print στην κλάση Item τυπώνει: title: A Swingin Affair (64 mins) my favorite Sinatra album title: O Brother, Where Art
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Διαβάστε περισσότεραΔιαγράμματα Κλάσεων στη Σχεδίαση
Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν
Διαβάστε περισσότερα8. Μέθοδοι (Methods)
8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ Java 2
Προγραµµατισµός ΙΙ Java 2 Προχωρηµένα Θέµατα Πακέτα Τις κλάσεις που κατασκευάζουµε µπορούµε να τις οργανώνουµε σε πακέτα εν «κουβαλάµε» µια-µια τις κλάσεις που επιθυµούµε αλλά ένα συµπαγές αρχείο, το πακέτο
Διαβάστε περισσότερα