Object-Oriented. and Objects

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

Download "Object-Oriented. and Objects"

Transcript

1 Object-Oriented Programming: Classes and Objects

2 Software 12/5/2014 Development 2

3 Introduction Η βασική ορολογία και οι έννοιες του αντικειµενοστραφούς προγραµµατισµού έχουν εισαχθεί στην ενότητα Πολλές εφαρµογές συνίστανται από µια ή περισσότερες κλάσεις που κάθε µια περιέχει µια ή περισσότερες µεθόδους. Αν γίνετε µέλος µια οµάδας ανάπτυξης λογισµικού πιθανό να τύχει να εργαστείτε σε εφαρµογές που περιέχουν εκατοντάδες ή ακόµη και χιλιάδες κλάσεις. Στο κεφάλαιο αυτό, ενεργοποιείται η σηµειολογία των κλάσεων µε παραδείγµατα του πραγµατικού κόσµου και χρησιµοποιούνται ολοκληρωµένες εφαρµογές που επιδεικνύουν τη δηµιουργία των δικών σας κλάσεων και η διαχείριση των αντικειµένων των κλάσεων αυτών. 3

4 Classes, Objects, Methods and Instance Variables Ξεκινάµε µε ένα ανάλογο του πραγµατικού κόσµου που θα βοηθήσει στην κατανόηση των κλάσεων και των συστατικών τους. Έστω ότι θέλεις να οδηγήσεις ένα αυτοκίνητο και να το κάνεις να πάει γρηγορότερα πατώντας προς τα κάτω το πηδάλιο επιτάχυνσης (γκάζι). Τι θα πρέπει συµβεί πριν το κάνεις; Πριν καταφέρεις να οδηγήσεις ένα αυτοκίνητο, κάποιος θα πρέπει να το σχεδιάσει. 4

5 Classes, Objects, Methods and Instance Variables Ένα αυτοκίνητο τυπικά ξεκινά ως ένα σχέδιο του µηχανικού, όπως τα σχέδια που αποτυπώνουν ένα σπίτι. Αυτά τα σχέδια µηχανικού περιλαµβάνουν το σχεδιασµό του γκαζιού που κάνει το αυτοκίνητο να πηγαίνει γρηγορότερα. Το γκάζι αποκρύπτει τους πολύπλοκους µηχανισµούς που στην πραγµατικότητα κάνουν το αυτοκίνητο να πηγαίνει γρηγορότερα, ακριβώς όπως το φρένο αποκρύπτει τους µηχανισµούς που επιβραδύνουν το αυτοκίνητο και το τιµόνι αποκρύπτει τους µηχανισµούς που κάνουν το αυτοκίνητο να στρίβει. Αυτή η απόκρυψη καθιστά τους ανθρώπους µε λίγη ή καθόλου γνώση ικανούς να χρησιµοποιούν τους µηχανισµούς του αυτοκινήτου και να το οδηγούν µε ευκολία. 5

6 Classes, Objects, Methods and Instance Variables υστυχώς, δεν µπορείς να οδηγήσεις τα σχέδια µηχανικού ενός αυτοκινήτου. Πριν µπορέσεις να οδηγήσεις ένα αυτοκίνητο, αυτό θα πρέπει να κατασκευαστεί από τα σχέδια µηχανικού που το περιγράφουν. Ένα ολοκληρωµένο αυτοκίνητο έχει ένα πραγµατικό γκάζι που το κάνει να πηγαίνει γρηγορότερα αλλά ακόµη και αυτό δεν είναι αρκετό το αυτοκίνητο δε θα επιταχύνει από µόνο του, έτσι ο οδηγός θα πρέπει να πατήσει το πηδάλιο επιτάχυνσης. 6

7 Classes, Objects, Methods and Instance Variables Ας χρησιµοποιήσουµε το παράδειγµα του αυτοκινήτου για να εισάγουµε µερικές έννοιες κλειδιά του προγραµµατισµού. Για την εκτέλεση µιας εργασίας σε ένα πρόγραµµα απαιτείται µια µέθοδος. Η µέθοδος περιγράφει τους µηχανισµούς που στην πραγµατικότητα εκτελούν τις εργασίες της. Η µέθοδος αποκρύπτει τους µηχανισµούς αυτούς από τον χρήστη της, ακριβώς όπως ένα γκάζι ενός αυτοκινήτου αποκρύπτει από τον οδηγό τους µηχανισµούς που κάνουν το αυτοκίνητο να πηγαίνει γρηγορότερα. 7

8 Classes, Objects, Methods and Instance Variables Ξεκινάµε δηµιουργώντας ένα πρόγραµµα που καλείται κλάση για να στεγάσουµε σε αυτό µια µέθοδο, ακριβώς όπως τα σχέδια µηχανικού ενός αυτοκινήτου στεγάζουν τη σχεδίαση του γκαζιού. Σε µια κλάση παρέχεις µια ή περισσότερες µεθόδους που σχεδιάζονται για να εκτελούν εργασίες της. Για παράδειγµα η κλάση στην επόµενη παράγραφο αναπαριστά έναν τραπεζικό λογαριασµό και περιέχει µεθόδους για κατάθεση χρηµάτων σε έναν λογαριασµό ανάληψη χρηµάτων από τον λογαριασµό και ερώτηση υπολοίπου. 8

9 Classes, Objects, Methods and Instance Variables Ακριβώς όπως δεν µπορείς να οδηγήσεις ένα σχέδιο µηχανικού ενός αυτοκινήτου, δε µπορείς και να οδηγήσεις µια κλάση. Ακριβώς όπως κάποιος χρειάζεται να κατασκευάσει ένα αυτοκίνητο από τα σχέδιά του πριν το οδηγήσεις στην πράξη, θα πρέπει να κατασκευαστεί ένα αντικείµενο µιας κλάσης πριν αποκτήσεις το πρόγραµµα που θα εκτελεί τις εργασίες που περιγράφει η κλάση. Όταν οδηγείς ένα αυτοκίνητο, πατώντας το γκάζι στέλνεται ένα µήνυµα στο αυτοκίνητο για να εκτελέσει µια εργασία αυτή είναι, να πάει γρηγορότερα. Όµοια, στέλνεις µηνύµατα σε ένα αντικείµενο κάθε µήνυµα είναι κλήση προς µέθοδο που ζητά µια από τις µεθόδους του αντικειµένου να εκτελέσει τις εργασίες της. Κάθε κώδικας προγράµµατος που αλληλεπιδρά µε οποιοδήποτε αντικείµενο µιας συγκεκριµένης κλάσης είναι γνωστή ως πελάτης της κλάσης τα αντικείµενα παρέχουν υπηρεσίες προς τους πελάτες της κλάσης. 9

10 Classes, Objects, Methods and Instance Variables Χρησιµοποιήσαµε το ανάλογο τους αυτοκινήτου για να εισάγουµε τις κλάσεις τα αντικείµενα και τις µεθόδους. Επιπρόσθετα των δυνατοτήτων που προσφέρει ένα αυτοκίνητο, έχει επίσης πολλά χαρακτηριστικά, όπως το χρώµα του, ο αριθµός των πορτών του, η ποσότητα βενζίνης στο ρεζερβουάρ του, η τρέχουσα ταχύτητα και το κοντέρ του. Όπως οι δυνατότητες του αυτοκινήτου, τα χαρακτηριστικά του αναπαρίστανται ως τµήµα της σχεδίασης του αυτοκινήτου στα σχέδια µηχανικού. Καθώς οδηγείς ένα αυτοκίνητο, τα χαρακτηριστικά αυτά συνδέονται πάντοτε µε το αυτοκίνητο. Για παράδειγµα, κάθε αυτοκίνητο γνωρίζει πόση βενζίνη υπάρχει στο δικό του ρεζερβουάρ, όµως όχι πόση υπάρχει στα ρεζερβουάρ άλλων αυτοκινήτων. 10

11 Classes, Objects, Methods and Instance Variables Όµοια, ένα αντικείµενο έχει χαρακτηριστικά που µεταφέρονται µε αυτό καθώς χρησιµοποιείται σε ένα πρόγραµµα. Τα χαρακτηριστικά αυτά καθορίζονται στην κλάση του αντικειµένου. Για παράδειγµα, ένας τραπεζικός λογαριασµός έχει ένα χαρακτηριστικό, το υπόλοιπο, που αναπαριστά το ποσό των χρηµάτων στο λογαριασµό. Κάθε αντικείµενο τραπεζικού λογαριασµού γνωρίζει το υπόλοιπο στο ποσό που αναπαριστά, όχι όµως τα υπόλοιπα άλλων λογαριασµών. Τα χαρακτηριστικά καθορίζονται από τις µεταβλητές µιας κλάσης. 11

12 Account Class Ξεκινάµε µε ένα παράδειγµα που περιλαµβάνει τις κλάσεις Account και AccountTest. Η κλάση Account (δηλώνεται στο αρχείο Account.vb της εικόνας) αναπαριστά έναν τραπεζικό λογαριασµό που έχει ένα υπόλοιπο ένας πραγµατικός λογαριασµός τραπέζης θα περιελάµβανε άλλες πληροφορίες, όπως όνοµα, διεύθυνση, τηλέφωνο και αριθµό λογαριασµού. Η κλάση AccountTest (Εικ. ) δηµιουργεί και χρησιµοποιεί ένα αντικείµενο της κλάσης Account. Οι κλάσεις τοποθετούνται σε ξεχωριστά αρχεία για λόγους σαφήνειας, αλλά είναι δυνατό να τοποθετηθούν στο ίδιο αρχείο. 12

13 Account Class Η Γραφική ιεπαφή Χρήστη (GUI) για την εφαρµογή AccountTest επιδεικνύεται στην εικόνα Κατά την αρχική εκτέλεση του προγράµµατος, δηµιουργείται ένα αντικείµενο της κλάσης Account και εµφανίζεται το υπόλοιπό του στην ετικέτα accountbalancevaluelabel. Ο χρήστης µπορεί να εισάγει ένα ποσό κατάθεσης ή ανάληψης στο πλαίσιο κειµένου inputtextbox, στη συνέχεια να πιέσει το κουµπί Deposit Button για να κάνει µια κατάθεση ή το κουµπί Withdraw Button για να κάνει µια ανάληψη. Μετά από κάθε λειτουργία, η ετικέτα accountbalancevaluelabel ενηµερώνεται µε το νέο υπόλοιπο. 13

14 Software 12/5/2014 Development 14

15 Account Class Προσθήκη Κλάσης σε ένα Project Σε κάθε παράδειγµα του κεφαλαίου αυτού θα γίνεται προσθήκη µιας κλάσης στο project. Για το σκοπό αυτό, απαιτείται δεξί κλικ στο όνοµα του project στον Solution Explorer και επιλογή Add > Class από το µενού που εµφανίζεται. Στο πλαίσιο διαλόγου Add New Item που εµφανίζεται, πρέπει να εισαχθεί το όνοµα του νέου αρχείου σε αυτή την περίπτωση Account.vb και στη συνέχεια να γίνει κλικ στο Add Button. Ένα νέο αρχείο θα προστεθεί στο project µε µια άδεια κλάση Account. Προσθήκη του κώδικα της Εικ. Στο αρχείο αυτό. 15

16 Account Class ήλωση Κλάσης Account Η δήλωση της κλάσης Account ξεκινά στη γραµµή 3. Η λέξη κλειδί Public αποτελεί έναν τροποποιητή πρόσβασης access modifier. Μόνο Public κλάσεις µπορούν να επαναχρησιµοποιηθούν σε άλλα projects. Κάθε δήλωση κλάσης περιέχει τη λέξη κλειδί Class και αµέσως ακολουθεί το όνοµα της κλάσης. Το σώµα κάθε κλάσης τερµατίζει µε τις λέξεις κλειδιά End Class, όπως αποτυπώνεται στη γραµµή

17 Software 12/5/2014 Development 17

18 Software 12/5/2014 Development 18

19 Software 12/5/2014 Development 19

20 Account Class Μεταβλητές κλάσης Account (Instance Variables) Η κλάση Account περιέχει µια µεταβλητή τύπου δεκαδικός (Decimal) balancevalue (γραµµή 4) που αναπαριστά το υπόλοιπο του λογαραισµού Account. Σε παλαιότερα παραδείγµατα οι µεταβλητές δηλώνονταςν µε τη λέξη κλειδί Dim. Εδώ γίνεται χρήση του τροποποιητή πρόσβασης µέλους Private. Τα µέλη µιας κλάσης που δηλώνονται µε τροποποιητή πρόσβασης µέλους Private είναι προσβάσιµα µόνο µέσα από την κλάση, κάτι που δίνει στην κλάση πλήρη έλεγχο σε σχέση µε το πως τα µέλη αυτά χρησιµοποιούνται. Αυτό είναι γνωστό ως ενθυλάκωση (encapsulating) των δεδοµένων της κλάσης. 20

21 Account Class Μεταβλητές κλάσης Account (Instance Variables) Μέλη κλάσης που δηλώνονται µε τροποποιητές πρόσβασης µελών τύπου Public είναι προσβάσιµα οποτεδήποτε ένα πρόγραµµα διαθέτει µια αναφορά σε αντικείενο τύπου Account. Μεταβλητές που δηλώνονται µε Dim έχουν εξορισµού πρόσβαση τροποποιητή τύπου Private. Για λόγους σαφήνειας, σε κάθε ορισµό µεταβλητής και µεθόδου θα πρέπει να προηγείται ένας τροποποιητής πρόσβασης µέλους. Θα χρησιµοποιούµε ρητά τον όρο Private αντί του Dim για να υποδεικνύουµε ότι οι µεταβλητές µας είναι ιδιωτικές Private. 21

22 Account Class Κατασκευαστές και Εξαιρέσεις της κλάσης Account Όταν δηµιουργείται ένα αντικείµενο µιας κλάσης καλείται ο κατασκευαστής (constructor) της κλάσης για να αρχικοποιήσει το αντικείµενο. Η κλήση κατασκευαστή απαιτείται για κάθε αντικείµενο που δηµιουργείται. Εξορισµού, ο µεταγλωστιστής (compiler) παρέχει ένα κατασκευαστή (default constructor) χωρίς παραµέτρους για κάθε κλάση που δεν περιλαµβάνει ρητά έναν κατασκευαστή. Εναλλακτικά, µπορεί να χρησιµοποιηθεί ένα κατασκευαστής χωρίς παραµέτρους (parameterless constructor) που περιέχει κώδικα και δεν χρειάζεται παραµέτρους, ή που λαµβάνει µόνο προαιρετικές (Optional) παραµέτρους ώστε να είναι δυνατό να κληθεί χωρίς ορίσµατα. 22

23 Account Class Κατασκευαστές και Εξαιρέσεις της κλάσης Account Στην περίπτωση που παρασχεθούν κατασκευαστές για µια κλάση, ο µεταγλωτιστής δε θα παρέχει τον εξορισµού κατασκυαστή για την κλάση αυτή. Οι κατασκευαστές θα πρέπει να ονοµαστούν µε τη λέξη κλειδί New και γενικά δηλώνονται ώς Public οι Private κατασκευαστές ξεφεύγουν από τους σκοπούς του παρόντος. Οι κατασκευαστές υλοποιούνται ως διαδικασίες Sub, επειδή δε µπορούν να επιστρέψουν τιµές. Όπως οι µέθοδοι µπορούν να είναι υπερφορτωµένοι (overloaded). 23

24 Account Class Κατασκευαστές και Εξαιρέσεις της κλάσης Account Η κλάση Account ορίζει έναν κατασκευαστή (γραµµές 7 15). ηλώνει µια προαιρετική (Optional) παράµετρο µε προεπιλεγµένη τιµή 0D (γραµµή 7) που αναπαριστά το αρχικό υπόλοιπο του αντικειµένου της κλάσης Account. Καθώς η µοναδική παράµετρος είναι προαιρετική (Optional) ο κατασκευαστής αυτός λειτουργεί επίσης ως ο κατασκευαστής χωρίς παραµέτρους της κλάσης µπορεί να κληθεί χωρίς ορίσµατα. Οι γραµµές 9 12 καθιστούν έγκυρη την τιµή της παραµέτρου initialbalance. Εάν είναι µεγαλύτερη ή ίση από το 0, η γραµµή 14 αναθέτει την τιµή της µεταβλητής initialbalance στην µεταβλητή balancevalue. 24

25 Account Class Κατασκευαστές και Εξαιρέσεις της κλάσης Account Θεωρούµε ότι ένα Account δε µπορεί να έχει αρνητικό αρχικό υπόλοιπο, εποµένως αν η τιµή του initialbalance είναι αρνητική, ο κατασκευαστής παράγει µια εξαίρεση (throws an exception) τύπου ArgumentOutOfRangeException (γραµµές 10 11), που ενηµερώνει τον κώδικα του πελάτη ότι διαβιβάστηκε µη έγκυρο όρισµα στον κατασκευαστή. Όπως έχετε διδαχθεί στο Κεφάλαιο 7, µπορείτε να χρησιµοποιήσετε Try...Catch για να εντοπίσετε εξαιρέσεις και να επιχειρήσετε αποκατάσταση από αυτές, όπως θα γίνει στην Εικ. 25

26 Account Class Κατασκευαστές και Εξαιρέσεις της κλάσης Account Η δήλωση Throw statement (γραµµές 10 11) δηµιουργεί ένα νέο αντικείµενο τύπου ArgumentOutOfRangeException. Οι παρενθέσεις που ακολουθούν το όνοµα της κλάσης υποδεικνύουν µια κλήση προς τον κατασκευαστή που λαµβάνει ένα µήνυµα λάθους τύπου String ως όρισµά του. Έπειτα από τη δηµιουργία του αντικειµένου εξαίρεσης, η δήλωση Throw τερµατίζει αµέσως τον κατασκευαστή (η γραµµή 14 δεν εκτελείται) και η εξαίρεση επιστρέφεται στον κώδικα που επιχείρησε να δηµιουργήσει το αντικείµενο τύπου Account. 26

27 Account Class Η µέθοδος Deposit Η µέθοδος Deposit (γραµµές 18 26) λαµβάνει ένα ποσό κατάθεσης ως όρισµα και επιχειρεί να το προσθέσει στο υπόλοιπο. Ένα ποσό κατάθεσης πρέπει να είναι θετικό, έτσι οι γραµµές ελέγχουν αν το depositamount είναι µικρότερο ή ίσο από το 0, και σε µια τέτοια περίπτωση, παράγουν ως όρισµα µια εκτός ορίων εξαίρεση Argument-OutOfRangeException µε το κατάλληλο µήνυµα λάθους. Αυτό τερµατίζει τη µέθοδο Deposit (η γραµµή 25 δεν εκτελείται) και επιστρέφεται η εξαίρεση προς την κλήση. Αν το ποσό depositamount είναι µεγαλύτερο από 0, η γραµµή 25 το προσθέτει στη µεταβλητή balancevalue. 27

28 Account Class Η Μέθοδος Withdraw Η µέθοδος Withdraw (γραµµές 29 41) λαµβάνει ένα ποσό ανάληψης ως όρισµα και επιχειρεί να αφαιρέσει το ποσό αυτό από το υπόλοιπο. Ένα ποσό ανάληψης θα πρέπει να είναι ένας θετικός αριθµός που είναι µικρότερος ή ίσος από το υπόλοιπο της κλάσης Account. Αν το το ποσό ανάληψης withdrawalamount δεν είναι έγκυρο, οι γραµµές ή παράγουν µια εξαίρεση ArgumentOutOfRangeException µε το κατάλληλο µήνυµα λάθους. Αν το withdrawalamount είναι έγκυρο, η γραµµή 40 το αφαιρεί από το balancevalue. 28

29 Account Class Ιδιότητα Balance Οι µέθοδοι µιας κλάσης µπορούν να διαχειριστούν τις ιδιωτικές Private µεταβλητές, όµως τα λογισµικά πελάτες της κλάσης δεν µπορούν. Οι κλάσεις συχνά παρέχουν δηµόσιες Public ιδιότητες που επιτρέπουν στα λογισµικά πελάτες να αναθέσουν τιµές σε (set) ή να παράγουν τιµές από (get) Private µεταβλητές. Κάθε ιδιότητα περιέχει µια µέθοδο πρόσβασης Set accessor (για να τροποποιήσει την τιµή της µεταβλητής) και/ή µια µέθοδο πρόσβασης Get accessor (για να ανακτήσει την τιµή της µεταβλητής). Για την κλάση Account είναι επιθυµητό ο κώδικας του λογισµικού πελάτη να είναι ικανός να λάβει το υπόλοιπο της αλλά όχι να το τροποποιήσει όλες οι τροποποιήσεις θα πρέπει να εκτελεστούν από τις µεθόδους Deposit και Withdraw. 29

30 Account Class Ιδιότητα Balance Μια ιδιότητα οριίζεται από τις λέξεις κλειδά Property End Property. Μια ιδιότητα που µπορεί να χρησιµοποιηθεί µόνο για την ανάγνωση µιας τιµής δηλώνεται ως ιδιότητα ReadOnly και περιέχει µόνο µια µέθοδο πρόσβασης Get. Οι γραµµές ορίζουν τη δηµόσια και µόνο για ανάγνωση ιδιότητα Public ReadOnly της κλάσης Account µε το όνοµα Balance. Ο κώδικας του λογισµικού πελάτη µπορεί να χρησιµοποιήσει την ιδιότητα αυτή για να λάβει το τρέχον υπόλοιπο του λογαριασµού. 30

31 Account Class Ιδιότητα Balance Χρησιµοποιούµε επίσης την ιδιότητα µέσα στην κλάση στη γραµµή 31 στη µέθοδο Withdraw όταν ελέγχουµε αν το ποσό ανάληψης withdrawal-amount είναι µεγαλύτερο από το τρέχον υπόολοιπο. Όταν ο µεταγλωτιστής «βλέπει» την ιδιότητα Balance να χρησιµοποιείται κατά τρόπο που να χρειάζεται µια τιµή, κάνει επίκληση της µεθόδου πρόσβασης Get της ιδιότητας (γραµµές 45 47). Όταν πληκτρολογείται η πρώτη γραµµή αυτής της ιδιότητας και πατηθεί το Enter, το ολοκληρωµένο περιβάλλον ανάπτυξης (IDE) θα εισάγει αυτόµατα µια άδεια µέθοδο πρόσβασης Get (Get End Get) και τις λέξεις κλειδιά End Property. Στη συνέχεια µπορεί να πληκτρολογηθεί η δήλωση Return στη γραµµή 46 για να ολοκληρωθεί η δήλωση της µεθόδου πρόσβασης Get. 31

32 Account Class Ιδιότητα (Property) Balance Αργότερα στο κεφάλαιο αυτό, θα δηλωθούν ιδιότητες και µε τις δύο µεθόδους πρόσβασης Get και Set. Αν τυπώσετε την πρώτη γραµµή µιας ιδιότητας χωρίς τη λέξη κλειδί Read-Only, το ολοκληρωµένο περιβάλλον ανάπτυξης (IDE) θα παράγει άδειες µεθόδους πρόσβασης Get και Set για λογαριασµό σας. 32

33 Account Class Η κλάση AccountTest Η δήλωση στην κλάση AccountTest (Εικ. ) δηµιουργεί το αντικείµενο account της κλάσης Account ως ένα στιγµιότυπο µεταβλητής (γραµµή 4). Ο τύπος της µεταβλητής είναι Account η κλάση που δηλώθηκε στα προηγούµενα. Κάθε νέα κλάση που δηµιουργείται καθίσταται νέος τύπος που µπορεί να χρησιµοποιηθεί για δήλωση µεταβλητών και δηµιουργία αντικειµένων. Μπορούν να δηλωθούν νέοι τύποι κλάσεων ανάλογα µε τις ανάγκες που υπάρχουν. Αυτός είναι ένας λόγος για τον οποίο η Visual Basic είναι γνωστή ως µια εκτατή γλώσσα προγραµµατισµού (extensible language). 33

34 Software 12/5/2014 Development 34

35 Software 12/5/2014 Development 35

36 Software 12/5/2014 Development 36

37 Software 12/5/2014 Development 37

38 Software 12/5/2014 Development 38

39 Account Class Εκφράσεις ηµιουργίας-αντικειµένου Η µεταβλητή account αρχικοποιείται (γραµµή 4) µε το αποτέλεσµα της έκφρασης δηµιουργίας αντικειµένου (objectcreation expression) New Account(). Η New δηµιουργεί ένα νέο αντικείµενο της κλάσης που προσδιορίζεται στα δεξιά της λέξης κλειδί New (που είναι η Account). Μετά το όνοµα της κλάσης ακολουθούν παρενθέσεις που µαζί µε το όνοµα της κλάσης αναπαριστούν µια κλήση στον κατασκευαστή της κλάσης. Επειδή δεν διαβιβάζεται όρισµα, χρησιµοποιείται η προεπιλεγµένη τιµή 0D για το αρχικό υπόλοιπο του αντικειµένου της κλάσης Account (εξαιτίας της παραµέτρου Optional στη γραµµή 7 of Fig. ). Όταν δεν υπάρχουν ορίσµατα οι παρενθέσεις µπορούν να παραβλεφθούν αν και τις περιλαµβάνουµε για λόγους σαφήνειας. Αν και στη Visual Basic δεν υπάρχει διαφορροποίηση πεζώνκεφαλαίων, επιτρέπεται η δηµιουργία αντικειµένων (π.χ., account) µε το ίδιο όνοµα που έχει και η κλάση τους (π.χ. Account) συµβαίνει σε όλο το βιβλίο. 39

40 Account Class Η µέθοδος AccountTest_Load Η µέθοδος AccountTest_Load (γραµµές 7 12) εµφανίζει το αρχικό υπόλοιπο του αντικειµένου της κλάσης account στην ετικέτα accountbalancevaluelabel µε χρήση της έκφρασης account.balance µε την οποία επιτελείται πρόσβαση στην ιδιότητα Balance του αντικειµένου της κλάσης account. Η ιδιότητα επιστρέφει την τρέχουσα τιµή της µεταβλητής balancevalue του αντικειµένου της κλάσης account 40

41 Account Class Μέθοδος depositbutton_click Η µέθοδος depositbutton_click (γραµµές15 32) επιχειρεί να κάνει µια κατάθεση και εµφανίζει το νέο υπόλοιπο του λογαριασµού. Οι λειτουργίες αυτές εκτελούνται µέσα σε ένα πλαίσιο Try Catch στην περίπτωση που η κλίση προς τη µέθοδο Deposit του αντικειµένου account παράγει µια εξαίρεση ArgumentOutOfRangeException. Στις γραµµές λαµβάνεται η είσοδος χρήστη. Στη γραµµή 22 διαβιβάζεται η τιµή αυτή στη µέθοδο Deposit του αντικειµένου account. Οι γραµµές εµφανίζουν το νέο υπόλοιπο µέσα από πρόσβαση στην ιδιότητα Balance του αντικειµένου account. Αν η µέθοδος Deposit παράγει εξαίρεση ArgumentOutOfRangeException, οι γραµµές το λαµβάνουν και εµφανίζουν ένα MessageBox. Οι γραµµές καθαρίζουν το πλαίσιο εισαγωγής τιµής inputtextbox και επικεντρώνουν σε αυτό τον κέρσορα. 41

42 Account Class Method withdrawbutton_click Η µέθοδος withdrawbutton_click (γραµµές 35 53) επιχειρεί να κάνει µια ανάληψη και να εµφανίσει το νέο υπόλοιπο του λογαριασµού. Πάλι, οι λειτουργίες αυτές εκτελούνται µέσα σε ένα πλαίσιο Try Catch στην περίπτωση που η κλίση προς τη µέθοδο Withdraw του αντικειµένου account παράγει µια εξαίρεση ArgumentOutOfRangeException. Στις γραµµές λαµβάνεται η είσοδος χρήστη. Στη γραµµή 22 διαβιβάζεται η τιµή αυτή στη µέθοδο Withdraw του αντικειµένου account. Οι γραµµές εµφανίζουν το νέο υπόλοιπο µέσα από πρόσβαση στην ιδιότητα Balance του αντικειµένου account. Αν η µέθοδος Withdraw παράγει εξαίρεση ArgumentOutOfRangeException, οι γραµµές το λαµβάνουν και εµφανίζουν ένα MessageBox..Οι γραµµές καθαρίζουν το πλαίσιο εισαγωγής τιµών inputtextbox και επικεντρώνουν τον κέρσορα σε αυτό ώστε ο χρήστης να εισάγει το νέο ποσό κατάθεσης ή ανάληψης. 42

43 Account Class IntelliSense για την Κλάση Account Όταν δηµιουργείς αυτή την εφαρµογή και πληκτρολογείς account. στο ολοκληρωµένο περιβάλλον ανάπτυξης (IDE), IntelliSense εµφανίζεται η λίστα των πραγµάτων που µπορούν να εµφανιστούν στα δεξιά της τελείας όπως οι µέθοδοι Deposit και Withdraw και η ιδιότητα Balance ακριβώς όπως συµβαίνει και µε τις κλάσεις του πλαισίου.net. 43

44 Value Types and Reference Types Οι τύποι δεδοµένων χωρίζονται σε δύο κατηγορίες τύποι τιµών (value types) and τύποι αναφοράς (reference types). Μια µεταβλητή value type (όπως ένας Integer) περιέχει µια απλή τιµή αυτού του τύπου. Για παράδειγµα η εικόνα δείχνει µια µεταβλητή Integer µε όνοµα count που περιέχει την τιµή 7. 44

45 Software 12/5/2014 Development 45

46 Value Types and Reference Types Αντιθέτως, µια µεταβλητή τύπου αναφοράς (µερικές φορές καλείται µια reference) περιέχει τη διεύθυνση όπου αποθηκεύεται στη µνήµη ένα αντικείµενο. Τέτοα µεταβλητή λέγεται ότι αναφέρεται σε ένα αντικείµενο (refer to an object). Το πραγµατικό αντικείµενο στο οποίο αναφέρεται η µεταβλητή µπορεί να περιέχει πολλά µεµονωµένα κοµµάτια από δεδοµένα (που είναι, οι µεταβλητές του). Στη γραµµή 4 της εικόνας δηµιουργήθηκε στη µνήµη ένα αντικείµενο Account και αποθηκεύτηκε η θέση του αντικειµένου στη µεταβλητή αναφοράς account τύπου Account. Η εικόνα δείχνει τη συσχέτιση µεταξύ της µεταβλητής account και του αντικειµένου Account. Το αντικείεµνο Account δείχνεται µε τη µεταβλητή του balancevalue. 46

47 Software 12/5/2014 Development 47

48 Value Types and Reference Types Οι Μεταβλήτές Τύπου Αναφοράς Αρχικοποιούνται στην Τιµή Nothing Μια µεταβλητή τύπου αναφοράς αρχικοποιείται εξορισµού στην τιµή Nothing αν δεν αρχικοποιηθεί κατά τη δήλωσή αναφοράς της σε ένα αντικείµενο. Όταν επιχειρείς να χρησιµοποιήσεις µια µεταβλητή που περιέχει την τιµή Nothing για να αλληλεπιδράσει µε ένα αντικείµενο θα λάβεις µια εξαίρεση κενής αναφοράς NullReferenceException. 48

49 Value Types and Reference Types Πιο Αρχέτυποι Τύποι είναι οι Τύποι Τιµών Οι αρχέτυποι τύποι της Visual Basic είναι τύποι τιµών, εκτός από τον τύπο αναφοράς String (που στην πράξη αναπαριστά την κλάση String στο πλαίσιο.net). Οι αρχέτυποι τύποι τιµών περιλαµβάνουν τους ακέραιους τύπους integral types (Byte, SByte, Short, UShort, Integer, UInteger, Long και ULong), τους τύπους κινητής υποδιαστολής floating-point types (Single και Double) και τους τύπους Boolean, Date, Decimal και Char. Το παράρτηµα B παραθέτει τους αρχέτυπους τύπους µε τα µεγέθη τους και το εύρος τιµών τους. 49

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

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

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

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί

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

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6 Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:

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

Λογισµικό (Software SW) Γλώσσες

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

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

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

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

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

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

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

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι 1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της

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

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

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

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

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα τοποθετούνται

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

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

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

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

Ανάπτυξη εφαρμογής Input-Output

Ανάπτυξη εφαρμογής Input-Output Ανάπτυξη εφαρμογής Input-Output Πίνακας Περιεχομένων Ανάπτυξη εφαρμογής Input-Output... 1 1. Εκτέλεση του περιβάλλοντος ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition... 1 2. Δημιουργία νέου

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

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

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

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2 Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

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

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 3: Βασικά στοιχεία της γλώσσας προγραμματισμού Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors). Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι

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

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

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 2 η : Η Γλώσσα Προγραμματισμού VB.NET (1 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

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

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

Δεδομένα, τελεστές, είσοδος/έξοδος

Δεδομένα, τελεστές, είσοδος/έξοδος 2 Δεδομένα, τελεστές, είσοδος/έξοδος Τι θα δούμε σε αυτό το μάθημα 1. βασικοί τύποι δεδομένων 2. ακέραιοι 3. κινητής υποδιαστολής 4. ο τύπος decimal 5. χαρακτήρες 6. bool 7. string 8. χρήση μεταβλητών

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects

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

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού 5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού Χειμερινό εξάμηνο 2013 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αντικειμενοστραφής προγραμματισμός Τάξεις (classes)

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

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

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

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

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

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

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

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

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΜΑΘΗΜΑ : Πληροφορική Κατεύθυνσης ΤΑΞΗ : Β Αρ. σελίδων : 11 Ηµεροµηνία : 10/6/2008 Ώρα Έναρξης : 7:45 π.µ ιάρκεια : 2 ώρες Ονοµατεπώνυµο :...Τµήµα : Αριθµός :...Βαθµός

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

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

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

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

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

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

Προγραμματισμός και Εφαρμογές Υπολογιστών Προγραμματισμός και Εφαρμογές Υπολογιστών Ενότητα 2: Τύποι δεδομένων, θεμελιώδεις και οριζόμενοι από τον χρήστη Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Κ.Π. Γιαλούρης Μαθησιακοί Στόχοι 1/2 Εξοικείωση

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές

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

Οδηγίες ενεργοποίησης λογαριασμού στο λογισμικό λογοκλοπής TURNITIN

Οδηγίες ενεργοποίησης λογαριασμού στο λογισμικό λογοκλοπής TURNITIN ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΒΙΒΛΙΟΘΗΚΗ & ΚΕΝΤΡΟ ΠΛΗΡΟΦΟΡΗΣΗΣ Ελ. Βενιζέλου 70, Καλλιθέα, Τ.Κ. 176 71, Τηλ.: 210 9549169-170 http://www.library.hua.gr, e-mail:library@hua.gr Καλλιθέα 19/7/17 Οδηγίες ενεργοποίησης

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Τοπικές vs Καθολικές Μεταβλητές ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Τοπικές vs Καθολικές Μεταβλητές ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ενότητα: Τοπικές vs Καθολικές Μεταβλητές ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 1 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 1 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

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

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη.

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη. Οδηγίες για καθηγητές Για τη χρήση του Turnitin απαιτούνται τα παρακάτω βήματα: 1. Δημιουργία λογαριασμού 2. Δημιουργία τάξης και διαχείριση πληροφοριών τάξης 3. Δημιουργία εργασίας και σχετικές ρυθμίσεις

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse

ΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse ΕΡΓΑΣΤΗΡΙΟ 16 Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse 1. Δημιουργήστε ένα νέο project και ενσωματώστε το πρόγραμμα Fibonacci.java. 2. Βεβαιωθείτε ότι μεταγλωττίζει σωστά. Σχήμα 1: Adding

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να καταλάβουν την διαφορά ανάμεσα σε τοπικές και καθολικές μεταβλητές. Nα κάνουν αποσφαλμάτωση

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

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

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

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

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

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

Ανάπτυξη εφαρμογής Input-Output

Ανάπτυξη εφαρμογής Input-Output Ανάπτυξη εφαρμογής Input-Output Πίνακας Περιεχομένων Ανάπτυξη εφαρμογής Input-Output... 1 1. Εκτέλεση του περιβάλλοντος ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition... 1 2. Δημιουργία νέου

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 18/4/216 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

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

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

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Εξαιρέσεις. try, catch, finally, throw, throws

Εξαιρέσεις. try, catch, finally, throw, throws Εξαιρέσεις try, catch, finally, throw, throws Εξαιρέσεις Πολλές φορές όταν προγραµµατίζουµε σε κάποια γλώσσα προγραµµατισµού συµβαίνουν διάφορα σφάλµατα που οφείλονται είτε σε διάφορες αιτίες όπως σε λάθη

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

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

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

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

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1 Αντικείμενα στη Java Παύλος Εφραιμίδης Java Αντικείμενα στη Java 1 Αντικείμενα (Objects) στην Java Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας

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

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

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

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

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

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

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

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

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

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

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

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

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

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

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

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

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

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

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

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Χειρισµός Σφαλµάτων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.12.06 Σφάλµατα, Σφάλµατα, Σφάλµατα 2 εν υπάρχουν προγράµµατα χωρίς λογικά λάθη Υλοποίηση που

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

Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE

Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE Βήμα 1, εγκατάσταση VHOPE Η εφαρμογή VHOPE θα πρέπει να εγκατασταθεί στο PC σας προτού μπορείτε να αρχίσετε να χρησιμοποιείτε το υλικό παρουσίασης σε αυτό

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

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

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

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

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

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

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

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

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

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

Διαγράμματα Κλάσεων στη Σχεδίαση

Διαγράμματα Κλάσεων στη Σχεδίαση Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν

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

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER 4.1. ΕΙΣΑΓΩΓΗ Με την "Επίλυση", µπορείτε να βρείτε τη βέλτιστη τιµή για τον τύπο ενός κελιού το οποίο ονοµάζεται κελί προορισµού σε ένα φύλλο εργασίας. Η "Επίλυση" λειτουργεί

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

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

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

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

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1) Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο

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

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

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

Εισαγωγή στο περιβάλλον Code::Blocks

Εισαγωγή στο περιβάλλον Code::Blocks Εισαγωγή στο περιβάλλον Code::Blocks Στο παρόν εγχειρίδιο παρουσιάζεται η διαδικασία ανάπτυξης, μεταγλώττισης και εκτέλεσης ενός προγράμματος C στο περιβάλλον του Code::Blocks. Η διαδικασία αυτή παρουσιάζεται

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

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

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

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

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M8 Αντικειμενοστραφής Προγραμματισμός - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr

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

Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις.

Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις. 3 η Σειρά Ασκήσεων Άσκηση 1 Να γραφεί πρόγραμμα το οποίο θα διαχειρίζεται λογαριασμούς χρηστών (Accounts). Από το πρόγραμμα θα έχουμε δυνατότητα με το κατάλληλο μενού να δημιουργούμε νέους λογαριασμούς,

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,

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

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας Βάσεις Δεδομένων Ι 6 Ιδιότητες πεδίων Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Εισαγωγή Οι ιδιότητες των πεδίων διαφέρουν ανάλογα με

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

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές» 2 Ενότητα 5 Φίλτρα & Ερωτήματα 3 4 5.1 Φίλτρα Για να εμφανίσετε επιλεκτικά κάποιες εγγραφές που πληρούν κάποια κριτήρια μπορείτε να χρησιμοποιήσετε το φιλτράρισμα με βάση την επιλογή, φιλτράρισμα εκτός

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

Στο παράθυρο που θα εµφανιστεί πατήστε το κουµπί Unzip.

Στο παράθυρο που θα εµφανιστεί πατήστε το κουµπί Unzip. Το αρχείο EstateWeb 4.0.2.exe περιέχει την εγκατάσταση της εφαρµογής σε συµπιεσµένη µορφή. Για αυτό το λόγο θα πρέπει πρώτα να αποσυµπιέσετε τα αρχεία της εγκατάστασης στον σκληρό σας δίσκο. Κάντε διπλό

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

Συναρτήσεις στη Visual Basic 6.0

Συναρτήσεις στη Visual Basic 6.0 Προγραμματισμός & Εφαρμογές Υπολογιστών Μάθημα 4ο Συναρτήσεις στη Visual Basic 6.0 Κ. Κωστοπούλου Σειρά εκτέλεσης των πράξεων Όταν ορίζετε μια ακολουθία αριθμητικών πράξεων είναι δυνατόν να προκύψει αμφισημία.

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008 Εκτέλεση μεθόδου του αντικειμένου μιας κλάσης: 1) Δημιουργία αντικειμένου (στιγμιότυπου) της κλάσης: = new ( ); 2) Κλήση μεθόδου της κλάσης (στην

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

Προγραμματιστικό Περιβάλλον

Προγραμματιστικό Περιβάλλον Προγραμματιστικό Περιβάλλον Προγραμματίζοντας τις βασικές αριθμητικές πράξεις 2 ο Γυμνάσιο Παλλήνης Καθηγήτρια: Ευφροσύνη Σκιαδά Πρόσθεση Αφαίρεση Πολλαπλασιασμός Σύμβολα αριθμητικών πράξεων Διαίρεση Τι

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