Τι είναι κλάση Κλάση

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Τι είναι κλάση Κλάση"

Transcript

1 35

2 Τι είναι κλάση Κλάση είναι μια συλλογή από μεταβλητές. Αλλιώς είναι ένα σύνολο από: δεδομένα που δηλώνουν τα χαρακτηριστικά της κλάσης (τι είναι) και συναρτήσεις που προδιαγράφουν την συμπεριφορά της κλάσης (τι κάνει). 36

3 Από τι αποτελείται μία κλάση Η κλάση αποτελείται από δύο συστατικά: Τα δεδομένα είναι μέλη της κλάσης, λέγονται αλλιώς και δεδομένα μέλη ή μεταβλητές μέλη και είναι αυτά που καθορίζουν την κλάση. Παράδειγμα το αυτοκίνητο έχει τροχούς, μηχανή, πόρτες κλπ. Τις συναρτήσεις ή αλλιώς συναρτήσεις μέλη είναι αυτές που καθορίζουν την συμπεριφορά της κλάσης. Χειρίζονται τις μεταβλητές μέλη και ονομάζονται αλλιώς και μέθοδοι. Παράδειγμα οι μέθοδοι της κλάσης αυτοκίνητο είναι η Εκκίνηση(), το Φρενάρισμα(), το Σταμάτημα(). 37

4 Εγκλεισμός Η διαδικασία της συμπερίληψης όλων των πληροφοριών (δεδομένων και συναρτήσεων) σε ένα μέρος (κλάση), λέγεται εγκλεισμός (encapsulation). Αυτό επιτρέπει τους πελάτες της κλάσης (άλλες κλάσεις ή συναρτήσεις) να χρησιμοποιούν την κλάση χωρίς να τους ενδιαφέρει πως δουλεύει. Για παράδειγμα μπορούμε να οδηγούμε ένα αυτοκίνητο χωρίς να μας ενδιαφέρει πως λειτουργεί η μηχανή. 38

5 Δήλωση μιας κλάσης (1) Η δήλωση μιας κλάσης γίνεται έξω από την main. Αρχίζει με τη δεσμευμένη λέξη class και το όνομα της κλάσης. Ακολουθεί αριστερό άγκιστρο. Κατόπιν ακολουθούν οι λέξεις public ή private (θα αναφερθούμε σε αυτές πιο κάτω) και το κυρίως σώμα της κλάσης που περιέχει τα δεδομένα μέλη και τις συναρτήσεις μέλη. Στο τέλος η κλάση κλείνει με το δεξί άγκιστρο και το ελληνικό ερωτηματικό. 39

6 Δήλωση μιας κλάσης (2) Πιο κάτω βλέπουμε την δήλωση της κλάσης Car. class Car public }; int numofdoors; int numofwheels; Start(); Run(); Break(); Τέλος κλάσης Όνομα κλάσης Συναρτήσεις μέλη Δεδομένα μέλη 40

7 Αντικείμενα μιας κλάσης (1) Ορίζουμε ένα αντικείμενο της κλάσης Car που δηλώσαμε προηγουμένως όπως πιο κάτω: Car Van; Ο ορισμός αντικειμένου γίνεται έξω από την κλάση. Το Van είναι ένα αντικείμενο της κλάσης Car. Για να δηλώσουμε ότι το αντικείμενο Van έχει 3 πόρτες (δεδομένο), ξεκινά (συνάρτηση) και στρίβει (συνάρτηση) δηλαδή για να έχουμε πρόσβαση στα μέλη πλέον του αντικειμένου γράφουμε: Van.numOfDoors=3; 41

8 Αντικείμενα μιας κλάσης (2) Van.Start(); Van.Turn(); Βλέπουμε ότι για να έχει πρόσβαση το αντικείμενο που φτιάξαμε στα δεδομένα και τις συναρτήσεις της κλάσης χρησιμοποιούμε τον τελεστή τελεία (.). Το δεδομένο μέλος numofdoors της κλάσης παίρνει την τιμή 3. Οι συναρτήσεις Start() και Turn() είναι δηλωμένες μέσα στην κλάση και καλούνται από το αντικείμενο για να ξεκινήσει και στην συνέχεια να στρίψει. 42

9 Πρόσβαση στα δεδομένα της κλάσης Στη δήλωση μιας κλάσης χρησιμοποιούμε τις δεσμευμένες λέξεις public (δημόσιο) ή private (ιδιωτικό) για να δηλώσουμε αν τα μέλη της κλάσης είναι δημόσια ή ιδιωτικά προσπελάσιμα. Εξ ορισμού είναι όλα ιδιωτικά, μπορούν να προσπελαστούν δηλαδή από μεθόδους της ίδια της κλάσης. Τα δημόσια μπορούν να προσπελαστούν και έξω από την κλάση. Συνήθως τα δεδομένα είναι ιδιωτικά και οι συναρτήσεις δημόσιες. 43

10 Δήλωση της κλάσης με προσπελασιμότητα class Car pivate Char Model[50]; int numofdoors; int numofwheels; public void Start(); void Break(); }; Δεδομένα μέλη ιδιωτικά ορατά Συναρτήσεις μέλη δημόσια ορατές 44

11 Ορισμός της μεθόδου Ο ορισμός μεθόδου (συνάρτησης μέλους) γίνεται έξω από την κλάση ως ακολούθως: τύπος Κλάση::συνάρτηση(παράμετροι) } Εντολή; Για να δηλώσουμε στον compiler σε ποια κλάση ανήκει η συνάρτηση την οποία ορίζουμε χρησιμοποιούμε τον τελεστή διακρίβωσης εμβέλειας (: :). Ο ορισμός μπορεί να γίνει και μέσα στην κλάση χωρίς τον τελεστή (: :). 45

12 Constructor Όπως αρχικοποιούμε τις μεταβλητές μας σε μία τιμή, έτσι αρχικοποιούμε και τα δεδομένα μέλη μιας κλάσης. Αυτό επιτυγχάνεται με την χρήση μιας συνάρτησης μέλος της κλάσης που ονομάζεται constructor. Ο constructor έχει το ίδιο όνομα με την κλάση, δηλώνεται μέσα ή και έξω από την κλάση, μπορεί να έχει παραμέτρους που μπορεί να είναι προκαθορισμένες, αλλά δεν επιστρέφει τιμή, ούτε void. 46

13 Destructor Κατά την κατασκευή του constructor δεσμεύεται χώρος στην μνήμη για να δεχθεί τον constructor. Για να καθαρίσουμε την μνήμη από το αντικείμενο όταν αυτό τελειώσει την δουλειά του φτιάχνουμε μαζί του και το destructor. Ο destructor καθαρίζει το αντικείμενο και ελευθερώνει την μνήμη που έχει δεσμευθεί για αυτό. Δεν παίρνει ορίσματα δεν έχει εντολές και δεν επιστρέφει τιμή. Έχει και αυτός το ίδιο όνομα με την κλάση έχοντας μπροστά από το όνομά του μια περισπωμένη ( ~ ). 47

14 Παράδειγμα δήλωσης και ορισμού (1) Πιο κάτω ακολουθεί ένα παράδειγμα δήλωσης Constructor και Destructor και ορισμού τους έξω από την κλάση. class Dog //dhlosh klashs private int DogAge; //dedomeno melos public: Dog(); //dhlosh constructor ~Dog(); //dhlosh destructor }; //telos klashs 48

15 Παράδειγμα δήλωσης και ορισμού (2) Dog::Dog() DogAge=0; } Dog::~Dog() } //orismos constructor //arxikopoihsh toy dedomenoy //orismos tou destructor // den exei entoles 49

16 Παράδειγμα δήλωσης και ορισμού (3) Δήλωση και ορισμός τους μέσα στην κλάση. class Dog //dhlosh klashs public: Dog() //orismos tou constructor DogAge =0; } ~Dog() //orismos tou destructor } }; //telos klashs 50

17 51

18 Constructor με υπερφόρτωση Μπορούμε να φτιάξουμε μία συνάρτηση εγκατάστασης (constructor) που με αυτήν να δίνουμε αρχικές τιμές σε αντικείμενα την στιγμή που αυτά δημιουργούνται. Αυτό επιτυγχάνεται ορίζοντας παραμέτρους στις συναρτήσεις αυτές. Μπορούμε επίσης στην ίδια κλάση να χρησιμοποιούμε constructor με όρισμα και χωρίς. Αυτό ονομάζεται υπερφόρτωση του constructor. Το ποιος constructor εκτελείται κατά την δημιουργία του αντικειμένου εξαρτάται από τα ορίσματα του constructor. 52

19 Παράδειγμα υπερφόρτωσης constructors Dog() //constructor xoris orisma DogAge=0; } Dog(int initialage) //constructor me orisma DogAge=initialAge; } ~Dog() //destructor } 53

20 Χρήση αντικειμένου μέσα σε συναρτήσεις Μπορούμε να χρησιμοποιήσουμε αντικείμενα μέσα σε συναρτήσεις: σαν παραμέτρους συνάρτησης (πρόσβαση των παραμέτρων της συνάρτησης που δέχεται τα αντικείμενα στα δεδομένα των αντικειμένων). αλλά και να φτιάξουμε συναρτήσεις που να επιστρέφουν αντικείμενα (ο τύπος επιστροφής της συνάρτησης είναι η ίδια η κλάση). Μπορούμε να δηλώσουμε αντικείμενα μιας κλάσης α μέσα σε μια άλλη κλάση β για να μπορεί η κλάση β να έχει πρόσβαση στα δεδομένα της κλάσης α. 54

21 Παράδειγμα χρήσης αντικειμένου σαν όρισμα συνάρτησης (1) void athrypoloipo(logariasmos a, logariasmos b) ypoloipo=a.ypoloipo+b.ypoloipo; } Όνομα κλάσης log3.athrypoloipo(log1,log2); //klhsh synarthshs Στο παραπάνω παράδειγμα φτιάχνουμε μία συνάρτηση η οποία προσθέτει τα υπόλοιπα των δύο πρώτων αντικειμένων (log1 και log2). 55

22 Παράδειγμα χρήσης αντικειμένου σαν όρισμα συνάρτησης (2) Το αντικείμενο log3 κάνει κλήση αυτής της συνάρτησης από όπου μεταβιβάζονται τα αντικείμενα log1 και log2 στις παραμέτρους της συνάρτησης a και b αντίστοιχα. Μέσα στο σώμα της συνάρτησης βλέπουμε την πρόσβαση αυτής στο δεδομένο του κάθε αντικειμένου (a.ypoloipo b.ypoloipo). Τα δεδομένα αυτά αν και είναι ιδιωτικά μπορούν να προσπελαστούν από την συνάρτηση, γιατί είναι μέλος της κλάσης. 56

23 Παράδειγμα επιστροφής αντικειμένου από συνάρτηση (1) logariasmos athrypoloipo(logariasmos log) logariasmos apotelesma; apotelesma.ypoloipo=ypoloipo+log.ypoloipo; return apotelesma; } log3=log1.athrypoloipo(log2); //klhsh synarthshs Σε αυτό το παράδειγμα μεταβιβάζουμε στην συνάρτηση athrypoloipo μόνο το ένα αντικείμενο στην παράμετρο log (το log2 στο log). 57

24 Παράδειγμα επιστροφής αντικειμένου από συνάρτηση (2) Η τιμή του δεδομένου ypoloipo προστίθεται στην τιμή του δεδομένου του αντικειμένου που καλεί την συνάρτηση δηλ του log1. Μέσα στην συνάρτηση ορίζουμε ένα αντικείμενο apotelesma στο οποίο θα εκχωρηθεί η τιμή της πρόσθεσης. Κατόπιν με την εντολή return το αντικείμενο apotelesma επιστρέφεται μέσα στην καλούσα συνάρτηση main και αποδίδεται στο αντικείμενο log3. 58

25 Δηλώσεις κλάσεων σε αρχεία επικεφαλίδας (1) Τις κλάσεις έχουμε μάθει να τις δηλώνουμε μέσα στο κυρίως πρόγραμμα. Ένας άλλος τρόπος που υιοθετείται και είναι ο πιο σωστός είναι, τις δηλώσεις να τις κάνουμε σε ένα άλλο αρχείο το λεγόμενο αρχείο επικεφαλίδας και να το επισυνάπτουμε μέσα στο αρχείο του κυρίως προγράμματος μας. Τα αρχεία αυτά μπορεί να έχουν οποιοδήποτε όνομα αλλά επέκταση.hpp. (π.χ. το πρόγραμμα μας είναι το test.cpp το αρχείο κεφαλίδας είναι το car.hpp). Η επόμενη δουλειά είναι να εισάγουμε το αρχείο κεφαλίδας car.hpp μέσα στο αρχείο κώδικα test.cpp. 59

26 Δηλώσεις κλάσεων σε αρχεία επικεφαλίδας (2) Έτσι οι πελάτες της κλάσης οι οποίοι δεν ενδιαφέρονται για τις λεπτομέρειες της κλάσης, μπορούν να την χρησιμοποιούν αφού όλες οι δηλώσεις υπάρχουν μέσα στο αρχείο επικεφαλίδας το οποίο διαβάζει ο compiler. Παράδειγμα: Το αρχείο που έχει την δήλωση της κλάσης dog είναι το dog.hpp. class dog Private: DogAge; 60

27 Δηλώσεις κλάσεων σε αρχεία επικεφαλίδας (3) Public: int GetAge() return itsage; } }; 61

28 Δηλώσεις κλάσεων σε αρχεία επικεφαλίδας (4) Το αρχείο του κυρίως προγράμματος είναι το dog.cpp το οποίο συμπεριλαμβάνει το αρχείο κεφαλίδας dog.hpp ως εξής: #include <iostream.h> #include dog.hpp void main().. } 62

29 Σταθερές συναρτήσεις μέλη (1) Μπορούμε να ορίσουμε μια συνάρτηση σαν σταθερή (const) όταν θέλουμε να διασφαλίσουμε ότι αυτή η συνάρτηση δεν θα αλλάξει την τιμή οποιουδήποτε δεδομένου μέλους της κλάσης μας. Ο ορισμός γίνεται ως εξής: void function() const; Αν δηλώσουμε ως σταθερά μία συνάρτηση που πρέπει να επιφέρει αλλαγές σε δεδομένα μέλη της κλάσης μας, τότε θα πάρουμε μήνυμα λάθους από τον compiler. 63

30 Σταθερές συναρτήσεις μέλη (2) Για παράδειγμα: Μέσα στην κλάση Dog έχουμε την συνάρτηση setage() που αλλάζει το μέλος DogAge και την GetAge() η οποία απλώς μας επιστρέφει την τιμή του μέλους και την οποία θα ορίσουμε ως σταθερά. Δηλαδή ο ορισμός των συναρτήσεων θα είναι: void SetAge(int age); Int GetAge() const; 64

31 Μέθοδοι INLINE Όπως κάνουμε τις συναρτήσεις inline έτσι μπορούμε να κάνουμε και τις μεθόδους μιας κλάσης inline. Δηλαδή η μέθοδος GetAge() που ορίζεται έξω από την κλάση Dog : Inline int Dog::GetAge() return DogAge; } Θα γίνει πιο σωστά μέσα στην κλάση Dog: Int GetAge() const return DogAge;} 65

32 Στατικά δεδομένα μέλη Όταν τα δεδομένα μέλη ορίζονται ως ιδιωτικά, τότε το κάθε νέο αντικείμενο που δημιουργείται, παίρνει ένα ξεχωριστό δικό του αντίγραφο για τα δεδομένα αυτά. Εάν ορίσουμε κάποιο δεδομένο σαν στατικό (static), τότε όλη η κλάση έχει μόνο ένα αντίγραφο του δεδομένου, όσα αντικείμενα και αν δημιουργηθούν. Ένα στατικό δεδομένο αρχικοποιείται στην κλάση και αλλάζει τιμή με κάθε αντικείμενο Τα στατικά δεδομένα είναι χρήσιμα, όταν πρέπει όλα τα αντικείμενα μιας κλάσης, να μοιραστούν μια πληροφορία. 66

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός 1 2 Η Αρχή Ο αντικειμενοστραφής προγραμματισμός άρχισε να χρησιμοποιείται από τους προγραμματιστές, όταν ουσιαστικά ο διαδικαστικός (δομημένος) προγραμματισμός, δεν μπορούσε να ανταποκριθεί στις νέες απαιτήσεις

Διαβάστε περισσότερα

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ. Σχηματική παράσταση του προγράμματος. logariasmos

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ. Σχηματική παράσταση του προγράμματος. logariasmos ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΒΑΣΙΚΗ ΚΑΙ ΠΑΡΑΓΩΓΕΣ ΚΛΑΣΕΙΣ #include class logariasmos //basikh klash //prostateymeno dedomeno-melos float ypoloipo; logariasmos() //dhlosh constructor ypoloipo=0; float pareypoloipo()

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ

Αντικειμενοστραφής Προγραμματισμός ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΡΙΟΣ ΤΣΟΥΚΑΛΑΣ 2017 Πίνακας περιεχομένων Εισαγωγή... 3 Συναρτήσεις... 10 Παραδείγματα συναρτήσεων... 20 Κλάσεις Αντικείμενα... 27 Παραδείγματα κλάσεων... 42 Κλάσεις και Πίνακες...

Διαβάστε περισσότερα

Κλάσεις και αντικείμενα #include <iostream.h<

Κλάσεις και αντικείμενα #include <iostream.h< Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1) Θεωρητικό μέρος

ΑΣΚΗΣΗ 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1) Θεωρητικό μέρος ΑΣΚΗΣΗ 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1) Θεωρητικό μέρος ΒΑΣΙΚΗ ΚΑΙ ΠΑΡΑΓΩΓΕΣ ΚΛΑΣΕΙΣ class logariasmos //basikh klash protected: //prostateymeno dedomeno-melos float ypoloipo; logariasmos() ypoloipo=0; float pareypoloipo()

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό με C++

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 10: Constructors και Destructors Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος Διάλεξη Νο2-Νο3

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος Διάλεξη Νο2-Νο3 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος Διάλεξη Νο2-Νο3 1 Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας Επιτρέπετε το

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός Κλάσεις Αντικειμενοστραφής Προγραμματισμός Κλάσεις-Αντικείμενα Ένα παράδειγμα Συναρτήσεις κατασκευής (Constructors) Συνάρτηση καταστροφής (Destructor) Συναρτήσεις πρόσβασης (Access Functions) Συνάρτηση

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός

Διαβάστε περισσότερα

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

Διαβάστε περισσότερα

Η βασική συνάρτηση προγράμματος main()

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό με C++

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 9: Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Κωνσταντίνος Κουκουλέτσος Τμήμα

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 9: Συναρτήσεις Εμβέλεια Κουκουλέτσος Κώστας Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων

Διαβάστε περισσότερα

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( ) ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων

Διαβάστε περισσότερα

Pascal. 15 Νοεμβρίου 2011

Pascal. 15 Νοεμβρίου 2011 Pascal 15 Νοεμβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

Διαβάστε περισσότερα

Υπερφόρτωση τελεστών

Υπερφόρτωση τελεστών Υπερφόρτωση τελεστών 19 Νοεμβρίου 2012 1 Γενικά Στα προηγούμενα είδαμε ότι ορίζοντας μία κλάση, ορίζουμε ένα νέο τύπο τον οποίο μπορούμε να χρησιμοποιήσουμε για να δηλώσουμε αντικείμενα αυτής της νέας

Διαβάστε περισσότερα

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων ΠΟΛΛΕΣ ΕΝΤΟΛΕΣ ΕΠΙΣΤΡΟΦΗΣ Να γραφτεί ένα πρόγραμμα που να διπλασιάζει ένα ποσό που του δίνει ο χρήστης μεταξύ 0 και 1000. Να ελέγχει εάν το ποσό που εισήχθη

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση

Διαβάστε περισσότερα

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΣΥΝΑΡΤΗΣΕΙΣ ΣΤΗ C (1/3) +- Στη C χρησιμοποιούμε συχνα τις συναρτήσεις (functions),

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης CreativeCommons.

Διαβάστε περισσότερα

Ηβασικήσυνάρτηση προγράμματος main()

Ηβασικήσυνάρτηση προγράμματος main() Ηβασικήσυνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Ησυνάρτησηείναι ένα υποπρόγραμμα που

Διαβάστε περισσότερα

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Πώς βλέπουμε τις ιδιότητες των αντικειμένων που έχουμε δημιουργήσει; Ανοίγουμε το σενάριο CarWorld και δημιουργούμε μερικά αντικείμενα των κλάσεων

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 8: Κληρονομικότητα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία

Διαβάστε περισσότερα

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014 Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 4ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Συναρτήσεις (functions) 56 Τεμαχισμός του προγράμματος σε μικρότερα κομμάτια που είναι πιο κατανοητά, πιο εύκολα

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο

Διαβάστε περισσότερα

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT = Αντικειμενοστραφείς Γλώσσες Προγραμματισμού Ιωάννης Παπαδόπουλος Τμήμα Φυσικής, Πανεπιστήμιο Ιωαννίνων Δεκέμβριος 2018 1/18 = 2/18 = 1 αντικειμένων Μέθοδοι αντιγράφου (copy constructor) Κατασκευή μέσω

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το

Διαβάστε περισσότερα

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΕΠΙΣΤΡΟΦΗ ΤΙΜΗΣ #include <iostream.h> int compare_numbers(int num1, int num2)

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΕΠΙΣΤΡΟΦΗ ΤΙΜΗΣ #include <iostream.h> int compare_numbers(int num1, int num2) ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΕΠΙΣΤΡΟΦΗ ΤΙΜΗΣ int compare_numbers(int num1, int num2);.... int compare_numbers(int num1, int num2) if (num1>mum2) return (num1); ΟΡΙΣΜΟΣ

Διαβάστε περισσότερα

Τελικό τεστ - απαντήσεις

Τελικό τεστ - απαντήσεις Τελικό τεστ - απαντήσεις Θεωρήστε το παρακάτω πρόγραμμα και απαντήστε στις ερωτήσεις που ακολουθούν. 1 class parent { 2 public: 3 int a; int b; 4 parent(int _a, int _b) {} 5 6 void f1(int x) { cout

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Ένα ιστόγραμμα τιμών μετράει για ένα σύνολο από τιμές πόσες φορές εμφανίστηκε η κάθε τιμή. Για παράδειγμα

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΔΙΚΕΣ ΜΑΣ ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Στην άσκηση αυτή θα υλοποιήσετε μια κλάση RandomVector η οποία διαχειρίζεται ένα τυχαίο διάνυσμα ακεραίων το οποίο μπορεί να έχει οποιοδήποτε

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο

Διαβάστε περισσότερα

ΚΑΤΑΣΚΕΥΑΣΤΕΣ ΑΝΤΙΓΡΑΦΗΣ

ΚΑΤΑΣΚΕΥΑΣΤΕΣ ΑΝΤΙΓΡΑΦΗΣ ΚΑΤΑΣΚΕΥΑΣΤΕΣ ΑΝΤΙΓΡΑΦΗΣ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Deep/Shallow copies H αναγκαιότητα των κατασκευαστών αντιγραφής Ορισμός και χρήση κατασκευαστών αντιγραφής Τελευταία ενημέρωση:

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή

Διαβάστε περισσότερα

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++ Υπερφόρτωση, keywords CONST, STATIC, FRIEND ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++ Μ. Ρήγκου (rigou@ceid.upatras.gr) Τι θα συζητήσουμε σήμερα Υπερφόρτωση Συναρτήσεων Τελεστών CONST αντικείμενα, μεταβλητές και συναρτήσεις

Διαβάστε περισσότερα

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C# Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays)

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays) ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008 Πίνακες (Arrays) 1-D 0 1 2 2-D 3-D 0 0 1 1 2 2 3 3 array[3][2] array[0][1] Γενική δήλωση πίνακα: τύπος_στοιχείων [ ] όνομα = new τύπος_στοιχείων [μήκος]; // 1-D και φυσικά

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch; ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Τι είναι ; Συναρτήσεις Αυτόνομα τμήματα κώδικα (υποπρογράμματα) που πραγματοποιούν μια καθορισμένη εργασία. Χρήσιμες για περιπτώσεις που ο ίδιος υπολογισμός επαναλαμβάνεται πολλές φορές

Διαβάστε περισσότερα

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

Διαβάστε περισσότερα

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Εισαγωγή στην C++ Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η γλώσσα C++ Σχεδιάστηκε το 1979 από τον Bjarne Stroustrup στα Bell Laboratories Βασίζεται

Διαβάστε περισσότερα

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 3 Επανάληψη Γ μέρος 1. Στόχος του εργαστηρίου Στόχος του τρίτου εργαστηρίου είναι

Διαβάστε περισσότερα

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Το πρόγραμμα 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 υποστηρίζει

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Constructors Κλάσεις και αντικείμενα Ορισμός κλάσης: class

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Δομές & Ενώσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι 1 Δομές (Structures) Δομή (structure) στη C είναι μία συλλογή από μεταβλητές οποιουδήποτε

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

Διαβάστε περισσότερα

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p23-29. 5.1 Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p23-29. 5.1 Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή (Πρόχειρο σχέδιο - Μαθήµατος 3) p23-29 5. ΣΥΝΑΡΤΗΣΕΙΣ 5.1 Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή Η συνάρτηση είναι void, δεν επιστρέφει κάποια τιµή. //Oρισµός συνάρτησης χωρίς παραµέτρους // 12.

Διαβάστε περισσότερα

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ «ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ 1 4.1. Οριςμόσ φνθετων τφπων κλάςεων 2 Με εξαίρεςη τουσ βαςικούσ τύπουσ τησ Java (int, float, boolean, κλπ) τα

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11) Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I (Διάλεξη 11) 11-1 Μη-Δομημένος Προγραμματισμός Το πρόγραμμα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δομή). Όλη η λειτουργικότητα ορίζεται μέσα στην main. Το αποτέλεσμα

Διαβάστε περισσότερα

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading Κληρονομικότητα Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading 2 1 Κλάση Βάση/Παράγωγη Τα διάφορα αντικείμενα μπορούν να έχουν μεταξύ

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

Διαβάστε περισσότερα

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ 7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ 7.1 Ορισμός και δήλωση συνάρτησης Μία συνάρτηση είναι μία ενότητα οδηγιών οι οποίες μαζί εκτελούν μία συγκεκριμένη εργασία. Παρέχει έναν κατάλληλο τρόπο να μπορέσουμε να κάνουμε

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Σύνθεση και Κληρονομικότητα

Σύνθεση και Κληρονομικότητα Σύνθεση και Κληρονομικότητα Σύνθεση (composition) Κληρονομικότητα (inheritance) Υπερφόρτωση κληρονομημένων μελών Εικονικές συναρτήσεις και Πολυμορφισμός Αφηρημένες (abstract) βασικές κλάσεις 1 Σύνθεση

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

Σύνθεση και Κληρονομικότητα

Σύνθεση και Κληρονομικότητα Σύνθεση και Κληρονομικότητα Σύνθεση (composition) Κληρονομικότητα (inheritance) Υπερφόρτωση κληρονομημένων μελών Εικονικές συναρτήσεις και Πολυμορφισμός Αφηρημένες (abstract) βασικές κλάσεις 1 Σύνθεση

Διαβάστε περισσότερα

Ενδεικτικές λύσεις και στατιστικά

Ενδεικτικές λύσεις και στατιστικά Προγραμματισμός 1 Σύντομο Quiz 25/9/9 Ενδεικτικές λύσεις και στατιστικά Ερώτηση 1: Γράψτε παρακάτω συνάρτηση η οποία δέχεται ως παραμέτρους ένα string και ένα χαρακτήρα και επιστρέφει τον αριθμό των εμφανίσεων

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 11 η Συναρτήσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε

Διαβάστε περισσότερα

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1 Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 10η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Υπερφόρτωση των τελεστών εισόδου και εξόδου. Τάξεις και δυναμική καταχώριση

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα

Διαβάστε περισσότερα

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

Διαβάστε περισσότερα

FAIL PASS PASS οριακά

FAIL PASS PASS οριακά AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον

Διαβάστε περισσότερα

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός 1 2 Η Αρχή Ο αντικειμενοστραφής προγραμματισμός άρχισε να χρησιμοποιείται από τους προγραμματιστές, όταν ουσιαστικά ο διαδικαστικός (δομημένος) προγραμματισμός, δεν μπορούσε να ανταποκριθεί στις νέες απαιτήσεις

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 7: C++ TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ Templates ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό με C++

Εισαγωγή στον Προγραμματισμό με C++ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 6: Συναρτήσεις Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού 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

Διαβάστε περισσότερα