Ενοτητα 4 Σχ Βιβ ΠΛΗΡΟΦΟΡΙΚΉ Flashcards

1
Q

Ποια είναι η διαφορά ανάμεσα στην αντικειμενοστραφή προσέγγιση και στις παραδοσιακές προγραμματιστικές τεχνικές;

A

Η διαφορά είναι ότι στις παραδοσιακές προγραμματιστικές τεχνικές η δομή του προγράμματος στηρίζεται στις ενέργειες που γίνονται πάνω στα δεδομένα ενώ στην αντικειμενοστραφή προσέγγισή η δομή του προγράμματος στηρίζεται στα δεδομένα.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. Ποια είναι τα κύρια στοιχεία ενός προγράμματος στην αντικειμενοστραφή σχεδίαση;
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. Τι πλεονέκτημα παρέχει η αντικειμενοστραφής σχεδίαση;
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. Ποιες τεχνικές χρησιμοποιεί ο αντικειμενοστραφής προγραμματισμός;
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. Τι είναι ο αντικειμενοστραφής προγραμματισμός;
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Τι είναι τα αντικείμενα στον αντικειμενοστραφή προγραμματισμό
A

Απάντηση:

Τα αντικείμενα είναι προγραμματιστικές οντότητες οι οποίες αντιστοιχούν σε φυσικές οντότητες ή έννοιες του φυσικού μας κόσμου οι οποίες δομούνται με βάση δεδομένα που προσδιορίζουν την υπόστασή τους και ενέργειες που εφαρμόζονται πάνω στα δεδομένα. Σε μια εφαρμογή, ένα αντικείμενο είναι ο ομαδοποιημένος συνδυασμός δεδομένων και κώδικα, τα οποία χειριζόμαστε ενιαία.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Τι είναι οι ιδιότητες στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

Οι ιδιότητες ενός αντικειμένου είναι τα χαρακτηριστικά του αντικειμένου τα οποία καθορίζονται από τα δεδομένα του.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Τι είναι οι μέθοδοι στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

Οι μέθοδοι είναι οι ενέργειες που εφαρμόζονται πάνω στα δεδομένα ενός αντικειμένου και καθορίζουν τη συμπεριφορά του αντικειμένου.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Πώς γίνεται η προσέγγιση ενός προβλήματος στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. Από πού πηγάζουν οι θεμελιώδεις αρχές του αντικειμενοστραφούς προγραμματισμού;
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. Ποια μεθοδολογία ακολουθούμε για να «χτίσουμε» αντικειμενοστραφή προγράμματα;
A

Απάντηση:

Το «χτίσιμο» μιας αντικειμενοστραφούς εφαρμογής επιτυγχάνεται με τη δημιουργία και τον χειρισμό αντικειμένων τα οποία πρέπει να συνεργαστούν για την επίτευξη του κοινού στόχου που είναι η επίλυση του προβλήματος. Σημαντικό είναι να εντοπίσουμε τα απαραιτητα δομικά στοιχεία της εφαρμογής αναλύοντας το πρόβλημα το οποίο θέλουμε να επιλύσουμε, για να αναγνωρίσουμε και να καταγράψουμε τα βασικά συστατικά στοιχεία της διαδικασίας επίλυσής του, τα οποία είναι:

●τα αντικείμενα που συμμετέχουν με βάση τον ρόλο τους στο συγκεκριμένο σενάριο,

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

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. Πώς γίνεται η διαγραμματική αναπαράσταση των συστατικών επίλυσης ενός προβλήματος με αντικειμενοστραφή προγραμματισμό:
A

Απάντηση:

Τα συστατικά επίλυσης του προβλήματος (αντικείμενα, ιδιότητες, υπηρεσίες/συνεργασίες), μπορούμε να τα οργανώσουμε σε μια διαγραμματική αναπαράσταση, στην οποία:

Για κάθε αντικείμενο χρησιμοποιούμε ένα παραλληλόγραμμο χωρισμένο σε τρία μέρη για να αποτυπώσουμε: στο πάνω μέρος την ονομασία και τον ρόλο που έχει, στο μεσαίο μέρος τις ιδιότητες του και στο κάτω μέρος τις μεθόδους του.

Για την περιγραφή του είδους της συνεργασίας μεταξύ των αντικειμένων χρησιμοποιούμε γραμμές σύνδεσης μεταξύ των παραλληλογράμμων

[Ονομα αντικειμένου (ρολος)]
|ιδιότητα 1:
|ιδιότητα 2:
|…

| μέθοδος 1 ()
|μέθοδος 2 ()
….
—–

[Ονομα αντικειμένου1 (ρολος)]
|ιδιότητα 1:
|ιδιότητα 2:
|…..
—–
|Μέθοδος 1()
|Μέθοδος 2()
|…
—-
|
είδος συνεργασίας
|
[Ονομα αντικειμένου2 (ρολος)]
|ιδιότητα 1:
|ιδιότητα 2:
|…..
—–
|Μέθοδος 1()
|Μέθοδος 2()
|…
—-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Πως δομείται ένα αντικειμενοστραφής προγραμμα

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. Γιατί είναι σημαντική η διαγραμματική αναπαράσταση στον αντικειμένο στραφή προγραμματισμό:
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. Τι ονομάζουμε «ενθυλάκωση» στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  1. Τι είναι η «κλάση» στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

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

17
Q
  1. Γιατί χρησιμοποιούνται οι κλάσεις στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

Χρησιμοποιώντας την κλάση στον αντικειμενοστραφή προγραμματισμό κάνουμε μια «οικονομία» καθώς έχουμε τη δυνατότητα να ομαδοποιήσουμε τα αντικείμενα που έχουν ίδιες ιδιότητες και κάνουν τις ίδιες ενέργειες. Με αυτόν τον τρόπο το πρόγραμμα μπορεί να γίνει πιο απλό και πιο κομψό,

18
Q
  1. Τι ονομάζουμε «κληρονομικότητα» στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

Η δυνατότητα δημιουργίας ιεραρχιών αντικειμένων καλείται κληρονομικότητα,

19
Q
  1. Τι ονομάζουμε «κλάση πρόγονος» και «κλάση απόγονος» στον αντικειμενο-στραφή προγραμματισμό;
A

Απάντηση:

Με βάση την κληρονομικότητα, μια κλάση μπορεί να περιγραφεί γενικά και στη συνέχεια μέσω αυτής της κλάσης να οριστούν υποκλάσεις αντικειμένων. Η γενική κλάση ονομάζεται κλάση-πρόγονος ή υπερκλάση ενώ η υποκλάση που ορίζεται από αυτήν ονομάζεται κλάση-απόγονος ή υποκλάση. Η κλάση-πρόγονος περιλαμβάνει τις κοινές ιδιότητες και μεθόδους όλων των κλάσεων-απογόνων της, ενώ κάθε κλάση-απόγονος κληρονομεί και μπορεί να χρησιμοποιήσει όλα τα δεδομένα (ιδιότητες) και τις μεθόδους που περιέχει η κλάση πρόγονος. Έτσι οι κλάσεις-απόγονοι εμφανίζουν μόνο τις διαφορετικές τους ιδιότητες και μεθόδους αφού τις κοινές τις κληρονομούν από τη «μητέρα» τους την κλάση πρόγονο.

20
Q
  1. Πώς αποτυπώνεται η σχέση κληρονομικότητας στη διαγραμματική αναπαρά σταση;
A

Η σχέση σκληρονομικότητας στη διαγραμματική αναπαράσταση αποτυπώνεται με τη βοήθεια του ειδικού συμβόλου γενίκευσης ☝️ (πάνω βέλος).

21
Q
  1. Τι ορίζει το «ίs_a» σε μια σχέση κληρονομικότητας;
A

Απάντηση:

Σε μία διαγραμματική αναπαράσταση στην οποία αποτυπώνεται η σχέση κληρονομικότητας μεταξύ των κλάσεων, όταν θέλουμε να πούμε ότι μία κλάση ανήκει σε μία άλλη χρησιμοποιούμε τον συμβολισμό «is_ α» δηλαδή «ανήκει». Παράδειγμα στη διαγραμματική αναπαράσταση της ερώτησης 21, μπορούμε να πούμε ότι «ο Ανθοπώλης είναι (is_a) Επαγγελματίας» ή «ο Ανθοδέτης είναι (is_a) Επαγγελματίας».

22
Q
  1. Πότε μια κλάση Α είναι έγκυρη υποκλάση της Β;
A

Απάντηση:

Μια κλάση Α μπορεί να είναι έγκυρη υποκλάση της Β αν έχει νόημα να πούμε «ένα Α είναι ένα (is a) B»

23
Q
  1. Πώς συναντάμε τον «πολυμορφισμό» στην καθημερινή μας ζωή;
A

Απάντηση:

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

Παραδείγματα πολυμορφισμού είναι η συμπεριφορά του κινητού τηλεφώνου η οποία διαφέρει ανάλογα με τη λειτουργία του. Άλλοτε συμπεριφέρεται ως τηλέφωνο, άλλοτε ως κάμερα, άλλοτε ως mp3-player και άλλοτε ως ραδιόφωνο.

24
Q
  1. Τι είναι ο «πολυμορφισμός» στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

Πολυμορφισμός είναι μια ιδιότητα του αντικειμενοστραφούς προγραμματισμού με την οποία μια λειτουργία μπορεί να υλοποιείται με πολλούς διαφορετικούς τρόπους.

25
Q
  1. Πώς υλοποιείται ο «πολυμορφισμός» στον αντικειμενοστραφή προγραμματισμό;
A

Απάντηση:

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

26
Q
  1. Πώς υλοποιούνται οι μέθοδοι στον αντικειμενοστραφή προγραμματισμό;
A

Η κάθε μέθοδος αντιστοιχεί σε ένα υποπρόγραμμα, όπως αυτό που γράφουμε στη γλώσσα προγραμματισμού «ΓΛΩΣΣΑ» με τη διαφορά ότι ενώ οι διαδικασίες και οι συναρτήσεις εντάσσονταν απευθείας στο κύριο πρόγραμμα, η κάθε αντικειμενοστραφής μέθοδος εντάσσεται σε μια κλάση και «περιορίζεται» στα δεδομένα που αυτή περιέχει