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

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

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

Μεθοδολογία Λύσης Ασκήσεων

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

Διαγραμματική Αναπαράσταση Αντικειμένων

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

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

Ομαδοποίηση Αντικειμένων σε Κλάσεις

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

Ενθυλάκωση – Αφαιρετικότητα

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

Κλάση

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

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

Κληρονομικότητα – Πρόγονοι – Απόγονοι

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

Ένας χρήσιμος κανόνας που μας βοηθά στο έργο μας αυτό είναι,
Μια κλάση Α μπορεί να είναι έγκυρη υποκλάση της Β αν έχει νόημα να πούμε «ένα Α είναι ένα (is_a) B»

Παράδειγμα:

Ποια από τα παρακάτω δε σχηματίζουν έγκυρα ζεύγη υπερκλάσης-υποκλάσης και γιατί;
1) Μονάδα μέτρησης νερού- Λίτρα
2)Τράπεζα – E-banking
3) Γραφείο – Όροφος
4) Ταυτότητα – ΑΝ23456
5) Μαθητής – Άνθρωπος

Πολυμορφισμός

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

Παράδειγμα
:

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

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

Σωστό / Λάθος Ερωτήσεις Θεωρίας Αντικειμενοστραφής Προγραμματισμός:

1 . Η αφαιρετικότητα αναφέρεται στο ότι μία κλάση περιγράφει με αόριστο τρόπο μία ευρύτερη κατηγορία αντικειμένων.
2. Τυπικό παράδειγμα πολυμορφισμού είναι η διαφορετική συμπεριφορά του τελεστή “+” ανάλογα με τον τύπο των δεδομένων που καλείται να εφαρμόσει.
3. Η δυνατότητα ενος αντικείμενου να συνδυάζει εσωτερικά τα δεδομένα και τις μεθόδους χειρισμού του καλείται καθοριστηκότητα.
4. Δύο αντικείμενα που κατασκευάζονται από την ίδια κλάση είναι ίδια.
5. Μια κλάση αποτελεί ενα αφαιρετικό στοιχείο και μπορεί να παράγει ενα περιορισμένο πλήθος δομικά ίδιων αντικειμένων.

Απαντήσεις Θεωρίας Αντικειμενοστραφής Προγραμματισμός:

Οι απαντήσεις για τις παραπάνω ερωτήσεις τύπου Σωστό/ Λάθος είναι οι παρακάτω:
1. Λ, 2. Σ, 3. Λ, 4. Λ, 5. Λ
Αν θέλετε και άλλες ερωτήσεις τύπου Σωστού / Λάθους ή γενικότερα ερωτήσεις θεωρίας στην ύλη της πληροφορικής Γ λυκείου στο κεφάλαιο Αντικειμενοστραφής Προγραμματισμός μπορείτε να δείτε από τα τεστ, διαγωνίσματα και θεωρίες που έχουμε δημιουργήσει για να σας δώσουν την δυνατότητα να καταφέρετε υψηλό βαθμό στις πανελλαδικές εξετάσεις.

Ερωτήσεις Ανάπτυξης Θεωρίας Αντικειμενοστραφής Προγραμματισμός

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

1. Τι μεθοδολογία ακολουθούμε για να αναλύσουμε ένα πρόβλημα που θέλουμε να επιλύσουμε ;

Να αναγνωρίσουμε και να καταγράψουμε τα βασικά συστατικά στοιχεία της διαδικασίας επίλυσής του που είναι:
1. τα αντικείμενα που συμμετέχουν με βάση τον ρόλο τους στο συγκεκριμένο σενάριο,
2. οι ιδιότητες κάθε αντικειμένου,
3. οι ενέργειες – μέθοδοι που υλοποιεί κάθε αντικείμενο προς αξιοποίηση από άλλες, ώστε να αναπτυχθούν οι απαραίτητες συνεργασίες μεταξύ των αντικειμένων για την επίλυση του προβλήματος

2. Πως καλείται ένας γενικός τύπος αντικειμένου ;

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

3. Να αναφέρεται τι είναι η κληρονομικότητα σε μία κλάση και από ποιες υποκλάσεις μπορεί να αποτελείται.

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

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

Trusted by some of the biggest brands

Spaces Logo
Next Logo White
Hemisferio Logo White
Digitalbox White
CGLobal White
Abstract Logo White
Business Coach Glyph

We’re Waiting To Help You

Get in touch with us today and let’s start transforming your business from the ground up.