Μετάβαση στο περιεχόμενο
Akademio

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

Κλάσεις, αντικείμενα, ενθυλάκωση, κληρονομικότητα και πολυμορφισμός.

40 λεπτά

Θα μάθεις να

  1. Να ξεχωρίζεις την κλάση από το αντικείμενο.
  2. Να περιγράφεις την ενθυλάκωση και την απόκρυψη πληροφορίας.
  3. Να εφαρμόζεις την κληρονομικότητα και να λες τι κληρονομείται.
  4. Να αναγνωρίζεις τον πολυμορφισμό και να τον διακρίνεις από την υπερφόρτωση.

Κλάση και αντικείμενο

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

  • Κλάση είναι το πρότυπο: περιγράφει τι δεδομένα και τι συμπεριφορές έχει ένα είδος οντότητας. Δεν καταλαμβάνει μνήμη για δεδομένα.
  • Αντικείμενοστιγμιότυπο) είναι μια συγκεκριμένη πραγμάτωση της κλάσης, με δικές του τιμές.
ΌροςΣημασία
Πεδίο (ιδιότητα)δεδομένο που κρατά το αντικείμενο
Μέθοδοςλειτουργία που μπορεί να εκτελέσει
Στιγμιότυποένα συγκεκριμένο αντικείμενο της κλάσης
Δημιουργόςειδική μέθοδος που αρχικοποιεί το νέο αντικείμενο
Μήνυμαη κλήση μεθόδου πάνω σε αντικείμενο

Ενθυλάκωση και απόκρυψη

Ενθυλάκωση είναι το ότι δεδομένα και μέθοδοι συσκευάζονται μαζί μέσα στην κλάση.

Απόκρυψη πληροφορίας είναι το ότι τα πεδία δηλώνονται ιδιωτικά και προσπελαύνονται μόνο μέσα από τις μεθόδους της κλάσης.

Κληρονομικότητα

Μια παράγωγη κλάση κληρονομεί πεδία και μεθόδους από τη βασική και προσθέτει δικά της. Η σχέση διαβάζεται «είναι ένα»: ο Μαθητής είναι ένα Άτομο.

Άτομο, Μαθητής, Καθηγητής

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

Κληρονομεί από: Άτομο

Πεδία

  • όνομακληρονομημένη
  • ηλικίακληρονομημένη
  • ειδικότηταδική της
  • μισθόςδική της

Μέθοδοι

  • εμφάνισευπερκάλυψη
  • έχει_ενηλικιωθείκληρονομημένη
  • διδάσκειδική της

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

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

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

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

Αφαίρεση

Αφαίρεση είναι η συγκράτηση μόνο των χαρακτηριστικών που έχουν σημασία για το πρόβλημα.

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

Λυμένα παραδείγματα

Παράδειγμα 1

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

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 2

Τι κληρονομεί η κλάση Μαθητής από την κλάση Άτομο, αν το Άτομο έχει όνομα, ηλικία και μεθόδους εμφάνισε και έχει_ενηλικιωθεί;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 3

Γιατί δηλώνεται ιδιωτικό το πεδίο «βαθμός»;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 4

Η ίδια κλήση εμφάνισε δίνει άλλο αποτέλεσμα σε Μαθητή και σε Καθηγητή. Πώς λέγεται, και γιατί είναι χρήσιμο;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Ασκήσεις

Από την πιο απλή στην πιο δύσκολη. Κρυμμένη είναι μόνο η απάντηση — ο δρόμος ως εκεί είναι δική σου δουλειά.

ΒασικήΆσκηση 1 από 4

Πώς λέγεται ένα συγκεκριμένο αντικείμενο μιας κλάσης;

Τεστ

Δεν μετράει βαθμός — μετράει να δεις τι κατάλαβες. Προσπέρασε όποια θες και γύρνα πίσω όποτε θες.

Ερώτηση 1 από 8

Η κλάση σε σχέση με το αντικείμενο είναι:

Τα κατάφερες;

  • Να ξεχωρίζεις την κλάση από το αντικείμενο.
  • Να περιγράφεις την ενθυλάκωση και την απόκρυψη πληροφορίας.
  • Να εφαρμόζεις την κληρονομικότητα και να λες τι κληρονομείται.
  • Να αναγνωρίζεις τον πολυμορφισμό και να τον διακρίνεις από την υπερφόρτωση.

Κάνε το τεστ πιο πάνω και θα δεις εδώ πού στέκεσαι.