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

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

Συναρτήσεις. Σημερινό μάθημα

Συναρτήσεις & Κλάσεις

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

Κληρονομικότητα. Σήμερα!

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Αντικειμενοστρεφής Ανάλυση & Σχεδίαση

Αναγνώριση Προτύπων. Σημερινό Μάθημα

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

Classes. Σημερινό Μάθημα. Constructor και destructor Συναρτήσεις μέλη const Inline συναρτήσεις Δηλώσεις κλάσεων Σύνθετες κλάσεις

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Πολυμορφισμός. Σήμερα! Virtual Κληρονομικότητα Mixin classes Αφηρημένοι τύποι δεδομένων Pure Virtual συναρτήσεις

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Συναρτήσεις ΙΙ. Σημερινό μάθημα

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)

Πολυμορφισμός. Σήμερα!

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

Επίλυση ειδικών μορφών ΣΔΕ

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων

5.1 Μετρήσιμες συναρτήσεις

- 1 - Ποιοι κερδίζουν από το εμπόριο αγαθών και υπηρεσιών; Γιατί η άμεση ανταλλαγή αγαθών, ορισμένες φορές, είναι δύσκολο να

Αναφορές (References)

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

{ i f i == 0 and p > 0

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

Επιχειρησιακή Ερευνα Ι

ΜΑΘΗΜΑ: ΓΕΝΙΚΟ ΔΙΟΙΚΗΤΙΚΟ ΔΙΚΑΙΟ ΔΙΚΑΣΤΩΝ

Διάρκεια: 2 ώρες 17/9/2009 ΘΕΜΑΤΑ 1) (2 μονάδες) Δεδομένης της περιγραφής που ακολουθεί δώστε το σχεδιασμό κλάσεων του συστήματος:

Αναγνώριση Προτύπων 1

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

Εισαγωγικές Διαλέξεις στην Θεωρία των Αλυσίδων Markov και των Στοχαστικών Ανελίξεων. Οικονομικό Πανεπιστήμιο Αθηνών

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και

Α) Ανάλογα με τη φύση των κονδυλίων που περιλαμβάνουν οι προϋπολογισμοί διακρίνονται σε:

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα.

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αλγόριθμοι & Βελτιστοποίηση

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Μονάδες α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

ιάσταση του Krull Α.Π.Θ. Θεσσαλονίκη Χ. Χαραλαμπους (ΑΠΘ) ιάσταση του Krull Ιανουάριος, / 27

Ειδικά Θέματα. Σήμερα. Ισότητα Αντικειμένων Friend classes Operator overloading

Martingales. 3.1 Ορισμός και παραδείγματα

Συγκέντρωση Κίνησης Εισαγωγή Στατική Συγκέντρωση Κίνησης

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Η εξίσωση Black-Scholes

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

Εφαρμογές στην κίνηση Brown

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

1. Η συγκεκριμένη εφαρμογή της λειτουργίας για τη λήψη φορολογικής ενημερότητας βρίσκεται στην αρχική σελίδα της ιστοσελίδας της Γ.Γ.Π.Σ.

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

Ανελίξεις σε συνεχή χρόνο

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

Αναλυτικές ιδιότητες

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΤΑ ΜΙΚΡΑ ΒΗΜΑΤΑ ΤΗΣ ΘΕΡΑΠΕΥΤΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑΣ: ΠΩΣ ΕΡΧΟΝΤΑΙ ΚΑΙ ΠΩΣ ΜΠΟΡΟΥΜΕ ΝΑ ΒΟΗΘΗΣΟΥΜΕ ΓΙΑ ΝΑ ΕΡΘΟΥΝ

Κεφάλαιο 2.3: Marketing Κοινωνικών Επιχειρήσεων. Στο παρόν κεφάλαιο παρουσιάζονται εν τάχει τα βασικά

Προτεινόμενα θέματα. στο μάθημα. Αρχές οργάνωσης και διοίκησης επιχειρήσεων. ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους.

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

17 Μαρτίου 2013, Βόλος

ΤΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΣΥΣΤΗΜΑ

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

1. Σε περίπτωση κατά την οποία η τιμή ενός αγαθού μειωθεί κατά 2% και η ζητούμενη

602. Συναρτησιακή Ανάλυση. Υποδείξεις για τις Ασκήσεις

Παραβολή ψ=αχ 2 +βχ+γ, α 0. Η παραβολή ψ = αχ 2. Γενικά : Κάθε συνάρτηση της μορφής ψ=αχ 2 + βχ +γ, α 0 λέγεται τετραγωνική συνάρτηση.

ΜΑΘΗΜΑ: ΒΙΟΛΟΓΙΑ ΟΜΑΔΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Γ ΛΥΚΕΙΟΥ

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Κεφάλαιο Η εκθετική κατανομή. Η πυκνότητα πιθανότητας της εκθετικής κατανομής δίδεται από την σχέση (1.1) f(x) = 0 αν x < 0.

Ring Routing and Wavelength Conversion. Γιώργος Ζώης

Ποια έντομα είναι εχθροί των φυτών και πώς θα τα αντιμετωπίσετε

Η Πληροφορική στο Δημοτικό Διδακτικές Προσεγγίσεις Αδάμ Κ. Αγγελής Παιδαγωγικό Ινστιτούτο

ΠΡΟΒΑΛΟΝΤΑΣ ΤΗΝ ΘΕΩΡΙΑ ΤΟΥ FOUCAULT ΓΙΑ ΤΗΝ ΕΞΟΥΣΙΑ ΤΟΥ ΛΟΓΟΥ ΣΤΑ ΜΕΣΑ ΜΑΖΙΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΚΑΙ ΕΝΗΜΕΡΩΣΗΣ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Τρίτη Γραπτή Εργασία στη Στατιστική

14 Φεβρουαρίου 2014, Βόλος

τους στην Κρυπτογραφία και τα

Transcript:

Αντικειμενοστραφής προγραμματισμός Σημερινό μάθημα Μειονεκτήματα Δομημένου Προγραμματισμού Αντικειμενοστραφής προγραμματισμός Ορισμοί Κλάσεις Αντικείμεναμ Χαρακτηριστικά ΑΠ C++ Class 1

Δομημένος Προγραμματισμός Ο θεμέλιος λίθος του δομημένου προγραμματισμού είναι ο τεμαχισμός μεγάλων προγραμμάτων σε επιμέρους κομμάτια (λογισμικές μονάδες), όπου το καθένα έχει συγκεκριμένη αποστολή, αλλά συνδέεται και επικοινωνεί με τα άλλα για να δημιουργήσουν ένα ολοκληρωμένο πρόγραμμα. Μειονεκτήματα Δομημένου Προγραμματισμού Η πολυπλοκότητα Τα δεδομένα έχουν υποεκτιμηθεί Η τοπικότητα των μεταβλητών Υπάρχουν οι καθολικές αλλά τότε αυξάνει η πολυπλοκότητα Αυξημένη πιθανότητα λάθους Αυξημένη η πολυπλοκότητα και στη διαχείριση των δεδομένων Η δημιουργία νέων τύπων δεδομένων είναι δύσκολη. 2

Αντικειμενοστραφής προγραμματισμός Στον Αντικειμενοστραφή προγραμματισμό, δίνεται έμφαση στη δημιουργία μονάδων οι οποίες θα περιλαμβάνουν τα δεδομένα αλλά και τις εντολές που τα διαχειρίζονται. Ορισμοί Ο κόσμος αποτελείται από αντικείμενα απλά ή σύνθετα, που αλληλεπιδρούν μεταξύ τους Για κάθε αντικείμενο του φυσικού κόσμου μπορούμε να ορίσουμε, μια αφηρημένη έννοια που περιγράφει: τον τρόπο με τον οποίο το αντικείμενο επικοινωνεί με το περιβάλλον του το πώς αυτό είναι οργανωμένο εσωτερικά Ο ΑΠ ονομάζει στιγμιότυπα (instances) τα πραγματικά αντικείμενα και κλάσεις (classes) τις αφηρημένες έννοιες που τα περιγράφουν. 3

Ορισμοί Ο όρος αντικείμενο χρησιμοποιείται και για την αφηρημένη έννοια (κλάση) αλλά και για τα στιγμιότυπά της Ο ΑΠ θεωρεί όλες τις οντότητες, πραγματικές και αφηρημένες, αντικείμενα (οbjects). Εδώ θα ονομάζουμε την αφηρημένη έννοια κλάση και τα στιγμιότυπα της αντικείμενα. Τα αντικείμενα είναι σαν μεταβλητές και οι κλάσεις σαν τύποι. Κλάσεις 4

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

Παράδειγμα #include class Cat { unsigned int itsage; unsigned int itsweight; Meow(); }; // main() { unsigned int GrossWeight; Cat Frisky; } // define an unsigned integer // define a Cat Χαρακτηριστικά ΑΠ Διαθέτει μηχανισμούς: απόκρυψης πληροφορίας περάσματος μηνυμάτων δημιουργίας και καταστροφής στιγμιοτύπων αναπαράστασης ιεραρχίας ρχ κληρονομικότητας κ.α. 6

Χαρακτηριστικά ΑΠ Οι μηχανισμοί αυτοί βελτιώνουν την ποιότητα του λογισμικού ως προς τα χαρακτηριστικά του: επαναχρησιμοποίηση (reusability) επεκτασιμότητα (extendibility) ορθότητα (correctness) ευρωστία (robustness) συντηρησιμότητα (maintainability) C++ Class class Classic_Example { public: // Δεδομένα και διαδικασίες προσβάσιμα από παντού protected: //Δεδομένα και διαδικασίες προσβάσιμα από την κλάση // τις παραγόμενες κλάσεις και friends κλάσεις private: // Δεδομένα και διαδικασίες προσβάσιμα από την κλάση // και friends κλάσεις }; 7

C++ Class Συμβουλή Δηλώστε τις συναρτήσεις στο PUBLIC Δηλώστε τα πεδία δεδομένων στο PRIVATE C++ Class Παράδειγμα class Date{ private: int _day; int _month; int _year; public: //... }; 8

C++ Classes class Mailbox { private: // public: void add(message); Message get_current(); void delete_current(); //... }; Classes vs structs Η κλάση Date είναι παρόμοια με τον ορισμό της στη C ως structure struct date { int day; int month; int year; }; Tα structs δεν παρέχουν τη δυνατότητα ελέγχου πρόσβασης στα δεδομένα. 9

Πρόσβαση σε συναρτήσεις κλάσεων Εκτός κλάσης, public συναρτήσεις μπορούν να κληθούν μόνο με αναφορά σε αντικείμενο της κλάσης. Μέσα στην κλάση, οι διάφορες συναρτήσεις μπορούν να κληθούν από άλλες συναρτήσεις ως απλές συναρτήσεις C++ Class Τα δεδομένα μιας κλάσης καλούνται ΔΕΔΟΜΕΝΑ ΜΕΛΗ ενώ οι διαδικασίες λέγονται ΣΥΝΑΡΤΗΣΕΙΣ ΜΕΛΗ. Ο τελεστής. χρησιμοποιείται για πρόσβαση και στα δεδομένα και στις συναρτήσεις. Η συνάρτηση αλλάζει τις τιμές που ανήκουν στο αντικείμενο που καλεί τη διαδικασία b.advance(30); Μια διαδικασία κλάσης μπορεί να έχει και ανεξάρτητες με την κλάση παραμέτρους 10

Άσκηση Ο Γιώργος αποφασίζει να ανοίξει ένα μαγαζί πρόχειρου φαγητού (fast food). Γνωρίζει πως χρειάζεται ένα φούρνο μικροκυμάτων, μια τοστιέρα, ένα ψυγείο, ένα πλυντήριο πιάτων, και ορισμένα άλλα αντικείμενα, τα οποίαείναι ί απαραίτητα για να παρέχει σωστέςυπηρεσίες το μαγαζί του. Ο Γιώργος αρχίζει με την ετοιμασία του χώρου και όταν αυτός είναι έτοιμος, ειδοποιεί να του φέρουν και εγκαταστήσουν τα επί μέρους αντικείμενασυσκευές που απαρτίζουν το fast food. Μια ανακοίνωση στην είσοδο κάτω από την πινακίδα fast food ο Γιώργος γράφει «Ζητούνται υπάλληλοι». Μετά από μερικές μέρες το μαγαζί είναι έτοιμο, και ο Γιώργος με τους δύο υπαλλήλους που ήδη προσέλαβε, τημαίρηκαιτονίκο, είναι έτοιμοι να υποδεχτούν τον πρώτο τους πελάτη. Ο Χρήστος, μπαίνει στο μαγαζί. «Ένα τοστ μετυρίζαμπόν μ παρακαλώ, μια τυρόπιτα και μια παγωμένη ΗΒΗ». Ο Γιώργος λέει στη Μαίρη «Φτιάξε σε παρακαλώ το τοστ», και αυτός αναλαμβάνει την τυρόπιτα. Διαπιστώνει όμως πως είναι κρύα και αποφασίζει να χρησιμοποιήσει το φούρνο μικροκυμάτων. Μετά από λίγο ο Χρήστος πήρε μια σακούλα και αφού πλήρωσε βγήκε από το μαγαζί. Πιθανή λύση 11