Αντικειμενοστραφής προγραμματισμός
Κλάσεις, αντικείμενα, ενθυλάκωση, κληρονομικότητα και πολυμορφισμός.
40 λεπτά
Θα μάθεις να
- Να ξεχωρίζεις την κλάση από το αντικείμενο.
- Να περιγράφεις την ενθυλάκωση και την απόκρυψη πληροφορίας.
- Να εφαρμόζεις την κληρονομικότητα και να λες τι κληρονομείται.
- Να αναγνωρίζεις τον πολυμορφισμό και να τον διακρίνεις από την υπερφόρτωση.
Κλάση και αντικείμενο
Ο αντικειμενοστραφής προγραμματισμός αλλάζει την οργάνωση: αντί για δεδομένα από τη μια και διαδικασίες από την άλλη, τα δύο μπαίνουν μαζί σε μία οντότητα.
- Κλάση είναι το πρότυπο: περιγράφει τι δεδομένα και τι συμπεριφορές έχει ένα είδος οντότητας. Δεν καταλαμβάνει μνήμη για δεδομένα.
- Αντικείμενο (ή στιγμιότυπο) είναι μια συγκεκριμένη πραγμάτωση της κλάσης, με δικές του τιμές.
| Όρος | Σημασία |
|---|---|
| Πεδίο (ιδιότητα) | δεδομένο που κρατά το αντικείμενο |
| Μέθοδος | λειτουργία που μπορεί να εκτελέσει |
| Στιγμιότυπο | ένα συγκεκριμένο αντικείμενο της κλάσης |
| Δημιουργός | ειδική μέθοδος που αρχικοποιεί το νέο αντικείμενο |
| Μήνυμα | η κλήση μεθόδου πάνω σε αντικείμενο |
Ενθυλάκωση και απόκρυψη
Ενθυλάκωση είναι το ότι δεδομένα και μέθοδοι συσκευάζονται μαζί μέσα στην κλάση.
Απόκρυψη πληροφορίας είναι το ότι τα πεδία δηλώνονται ιδιωτικά και προσπελαύνονται μόνο μέσα από τις μεθόδους της κλάσης.
Κληρονομικότητα
Μια παράγωγη κλάση κληρονομεί πεδία και μεθόδους από τη βασική και προσθέτει δικά της. Η σχέση διαβάζεται «είναι ένα»: ο Μαθητής είναι ένα Άτομο.
Τα οφέλη είναι τα ίδια με του τμηματικού προγραμματισμού, ένα επίπεδο ψηλότερα: ό,τι είναι κοινό γράφεται μία φορά στη βασική κλάση, και η διόρθωσή του ισχύει αυτόματα σε όλες τις παράγωγες.
Πολυμορφισμός
Πολυμορφισμός είναι η ικανότητα του ίδιου μηνύματος να προκαλεί διαφορετική συμπεριφορά, ανάλογα με την κλάση του αντικειμένου που το δέχεται.
Στο παράδειγμα παραπάνω, η κλήση εμφάνισε σε έναν Μαθητή τυπώνει τμήμα και βαθμό· η ίδια κλήση σε έναν Καθηγητή τυπώνει ειδικότητα. Το σημείο του προγράμματος που καλεί δεν χρειάζεται να ξέρει ποιο από τα δύο κρατά.
Αφαίρεση
Αφαίρεση είναι η συγκράτηση μόνο των χαρακτηριστικών που έχουν σημασία για το πρόβλημα.
Στο πρόγραμμα ενός σχολείου, η κλάση Μαθητής κρατά όνομα, τμήμα και βαθμό. Δεν κρατά χρώμα μαλλιών — όχι επειδή δεν υπάρχει, αλλά επειδή δεν χρειάζεται για αυτό το πρόβλημα. Σε πρόγραμμα κομμωτηρίου η επιλογή θα ήταν άλλη.
Λυμένα παραδείγματα
Παράδειγμα 1
Ποια είναι η διαφορά κλάσης και αντικειμένου, με παράδειγμα;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Τι κληρονομεί η κλάση Μαθητής από την κλάση Άτομο, αν το Άτομο έχει όνομα, ηλικία και μεθόδους εμφάνισε και έχει_ενηλικιωθεί;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 3
Γιατί δηλώνεται ιδιωτικό το πεδίο «βαθμός»;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 4
Η ίδια κλήση εμφάνισε δίνει άλλο αποτέλεσμα σε Μαθητή και σε Καθηγητή. Πώς λέγεται, και γιατί είναι χρήσιμο;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Από την πιο απλή στην πιο δύσκολη. Κρυμμένη είναι μόνο η απάντηση — ο δρόμος ως εκεί είναι δική σου δουλειά.
Πώς λέγεται ένα συγκεκριμένο αντικείμενο μιας κλάσης;
Τεστ
Δεν μετράει βαθμός — μετράει να δεις τι κατάλαβες. Προσπέρασε όποια θες και γύρνα πίσω όποτε θες.
Ερώτηση 1 από 8
Τα κατάφερες;
- Να ξεχωρίζεις την κλάση από το αντικείμενο.
- Να περιγράφεις την ενθυλάκωση και την απόκρυψη πληροφορίας.
- Να εφαρμόζεις την κληρονομικότητα και να λες τι κληρονομείται.
- Να αναγνωρίζεις τον πολυμορφισμό και να τον διακρίνεις από την υπερφόρτωση.
Κάνε το τεστ πιο πάνω και θα δεις εδώ πού στέκεσαι.