You are on page 1of 18

(Σημείωση: οι παρούσες διαφάνειες είναι βασισμένες σε υλικό των Θ.Ε.

ΠΛΗ10 και ΠΛΗ24)

Σχεδίαση Λογισμικού

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

1 15/12/23
Αντικειμενοστρεφής Προσέγγιση - Βασικοί Ορισμοί

Ως κλάση ορίζεται μια έννοια που περιγράφεται με συγκεκριμένη


δομή, συμπεριφορά και σχέσεις. Για παράδειγμα η έννοια
ΦΟΙΤΗΤΗΣ ή η έννοια ΚΑΘΗΓΗΤΗΣ θα μπορούσαν να οριστούν ως
κλάσεις «ΦΟΙΤΗΤΗΣ» και «ΚΑΘΗΓΗΤΗΣ».

Η βασική δομή της κλάσης είναι το όνομά της, οι ιδιότητες και οι


μέθοδοί της.

Τα αντικείμενα αποτελούν στιγμιότυπα των κλάσεων, όπως:


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

2
Αντικειμενοστρεφής Προσέγγιση - Βασικοί Ορισμοί

Αντικείμενα

Κάθε αντικείμενο επεξεργάζεται ένα σύνολο δεδομένων, τα οποία


είναι «δικά του» (δηλαδή τοπικά) και καλούνται «κατηγορήματα»
(attributes).

Η επεξεργασία των κατηγορημάτων γίνεται με ένα σύνολο


διαδικασιών που κατέχει το αντικείμενο, οι οποίες καλούνται
«μέθοδοι».

Συνεπώς, οι τιμές των κατηγορημάτων ενός αντικειμένου


περιγράφουν την κατάστασή του, ενώ οι μέθοδοι αποτελούν τους
τρόπους με τους οποίους μπορεί να συμβεί αλλαγή αυτής της
κατάστασης.

Στην ανάπτυξη αντικειμενοστρεφών προγραμμάτων,


ομαδοποιούμε τα αντικείμενα σε κλάσεις:
μια κλάση μπορεί να «γεννήσει» ένα απεριόριστο
πλήθος δομικά ίδιων αντικειμένων. 3 15/12/23
Κλάσεις και αντικείμενα

Έτσι, σε κάθε κλάση ορίζουμε:


Όνομα, Κατηγορήματα (ιδιότητες της κλάσης) και Μεθόδους
(διαδικασίες που επεξεργάζονται τα κατηγορήματα)

Όνομα
Κλάση Κατηγορήματα
Μέθοδοι

Αντικείμενα

4
Κλάσεις και αντικείμενα

Μια Κλάση συμπερασματικά: προσδιορίζει αντικείμενα με κοινή


συμπεριφορά (τα οποία όμως έχουν διαφορετική κατάσταση!)
Τα αντικείμενα που είναι «παιδιά»/ «στιγμιότυπα» της ίδιας κλάσης
διαθέτουν τα ίδια κατηγορήματα και τις ίδιες μεθόδους (αυτά που
έχει η κλάση), όμως κατά τη διάρκεια της εκτέλεσης του
προγράμματος, το καθένα έχει ξεχωριστή «ταυτότητα» και μπορεί να
βρίσκεται σε διαφορετική κατάσταση (δηλαδή το ίδιο κατηγόρημα να
έχει διαφορετική τιμή για διαφορετικό αντικείμενο).
Ελαιοχρωματιστής

Όνομα:
Επώνυμο:
Αμοιβή:

Βάφει Τοίχο

Κώστας: Ελαιοχρωματιστής Μήτσος: Ελαιοχρωματιστής Τάκης: Ελαιοχρωματιστής

Όνομα: Κώστας Όνομα: Μήτσος Όνομα: Τάκης


Επώνυμο: Νικολαϊδης Επώνυμο: Γόντικας Επώνυμο: Γόντικας
Αμοιβή: 100 Αμοιβή: 100 Αμοιβή: 130

Βάφει Τοίχο (Δ) Βάφει Τοίχο (Δ) Βάφει Τοίχο (Β)

5 15/12/23
Η Έννοια της Κληρονομικότητας

Σύνδεση κλάσεων έτσι ώστε να κληροδοτηθούν κατηγορήματα και


μέθοδοι
Η κληρονομικότητα απεικονίζει και εκφράζει τη σχέση «είναι-ένα-
είδος»
Παράδειγμα:
Ο λογαριασμός συναλλάγματος «είναι ένα είδος» τραπεζικού λογαριασμού
Στις επιμέρους κλάσεις μπορούμε να αποδώσουμε και δικά τους
(τοπικά) κατηγορήματα ή μεθόδους!

6
Ορατότητα Κατηγορημάτων και Μεθόδων

PUBLIC (+): Το κατηγόρημα/ μέθοδος είναι ορατά (και


χρησιμοποιήσιμα) και από αντικείμενα άλλων κλάσεων
PRIVATE (-): Το κατηγόρημα/ μέθοδος είναι ορατό και
προσπελάσιμο μόνο από την ίδια κλάση
Συνήθως, τα κατηγορήματα είναι PRIVATE και οι μέθοδοι PUBLIC
(συζήτηση: γιατί συμβαίνει αυτό;)

7
Μετάβαση σε ψευδοκώδικα

8
Η έννοια της συναρμογής

Αποτελεί μία σύνδεση που απεικονίζει τη σχέση μίας κλάσης


με μία ή περισσότερες κλάσεις που την απαρτίζουν
Συσχέτιση όλου και μερών – η εταιρεία αποτελείται από
υποκαταστήματα, το υποκατάστημα αποτελείται από τμήματα

Σχέση Συναρμογής

Γενική Συσχέτιση

Σχέση
Κληρονομικότητας

9
(Γενικές) Συσχετίσεις μεταξύ κλάσεων

Σύνδεση που υποδεικνύει μια σχέση μεταξύ κλάσεων.


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

ΠΟΙΑ Η ΔΙΑΦΟΡΑ;

10
Άσκηση 1

Προσπαθήστε να σχεδιάσετε ένα διάγραμμα κλάσεων


για ένα σύστημα διαχείρισης των εισιτηρίων ενός
κινηματογράφου που διαθέτει τέσσερις αίθουσες. Κάθε
αίθουσα προβάλλει έως και τρεις ταινίες την ημέρα και
αποτελείται από (το πολύ 100) θέσεις. Κάθε εισιτήριο
εκδίδεται για μια ταινία. Υπάρχουν δύο είδη εισιτηρίων:
το κανονικό και το μειωμένο.

11
Βήμα 1: Αναγνώριση Κλάσεων

Προσπαθήστε να σχεδιάσετε ένα διάγραμμα κλάσεων


για ένα σύστημα διαχείρισης των εισιτηρίων ενός
κινηματογράφου που διαθέτει τέσσερις αίθουσες. Κάθε
αίθουσα προβάλλει έως και τρεις ταινίες την ημέρα και
αποτελείται από (το πολύ 100) θέσεις. Κάθε εισιτήριο
εκδίδεται για μια ταινία. Υπάρχουν δύο είδη εισιτηρίων:
το κανονικό και το μειωμένο.

12
Βήμα 2: Αναγνώριση Συσχετίσεων

Συσχετίσεις κληρονομικότητας
Εισιτήριο  Κανονικό/ Μειωμένο (συζήτηση: γιατί;)
Συσχετίσεις συναρμογής
Κινηματογράφος  Αίθουσα (συζήτηση: γιατί;)
Συσχετίσεις γενικές
Αίθουσα με Ταινία, Ταινία με Εισιτήριο

13
Λύση

Η πολλαπλότητα υποδεικνύεται
από την εκφώνηση

Η ονομασία ‘Ταινία’ για την κλάση


είναι πιθανώς καλύτερη!
14
Άσκηση 2

Κάθε αντικείμενο στο σύστημα αρχείων (file system) ενός λειτουργικού


συστήματος προσδιορίζεται από την κλάση
«ΑντικείμενοΣυστήματοςΑρχείων» και μπορεί να είναι είτε αρχείο (file) είτε
κατάλογος (directory). Να προσδιορίσετε τις κατάλληλες σχέσεις ανάμεσα
στις κλάσεις «ΑντικείμενοΣυστήματοςΑρχείων», «Αρχείο» και «Κατάλογος».
Είναι γνωστό ότι ένας κατάλογος περιέχει αρχεία ή άλλους καταλόγους. Να
δικαιολογήσετε την απάντησή σας.

ΑντικείμενοΣυστήματος Αρχείων

Αρχείο Κατάλογος
περιέχει
ΑντικείμενοΣυστήματος Αρχείων
*

Αρχείο Κατάλογος
0..1
15 15/12/23
Άσκηση 3 (εκφώνηση)

Έστω το παρακάτω διάγραμμα κλάσεων που


αναπαριστά μια βιβλιοθήκη. Βρείτε τρία λάθη που
υπάρχουν στο διάγραμμα.
ΚατάλογοςΔημοσιεύσεων Πρόσωπο

*
Δημοσίευση
ΜέλοςΒιβλιοθήκης ΥπάλληλοςΒιβλιοθήκης
1

1 1
κρτατήθηκε_σε διαχειρίζεται
ανήκει_σε
1
*
Βιβλίο Περιοδικό ΛογαριασμόςΔανεισμού
*
16 15/12/23
Άσκηση 3 (τα λάθη)

ΚατάλογοςΔημοσιεύσεων Πρόσωπο

*
Δημοσίευση
ΜέλοςΒιβλιοθήκης ΥπάλληλοςΒιβλιοθήκης
1

1 1
κρτατήθηκε_σε διαχειρίζεται
ανήκει_σε
1
*
Βιβλίο Περιοδικό ΛογαριασμόςΔανεισμού
*

17 15/12/23
Άσκηση 3 (το σωστό διάγραμμα)

ΚατάλογοςΔημοσιεύσεων Πρόσωπο

Δημοσίευση
ΜέλοςΒιβλιοθήκης ΥπάλληλοςΒιβλιοθήκης
*

1 1
κρτατήθηκε_σε διαχειρίζεται
ανήκει_σε
1
*
Βιβλίο Περιοδικό ΛογαριασμόςΔανεισμού
1

18

You might also like