1. Βασική Θεωρία
ΔΙΑΒΑΣΕ ΤΟ
Κάτι δεν κατάλαβες; Επίλεξε το κομμάτι και πάτα «Ρώτα τον Νεύρωνα». Σου το εξηγεί αμέσως.

👨‍👨‍👦‍👦 Ομαδοποίηση Αντικειμένων σε Κλάσεις: Αφαιρετικότητα και Ενθυλάκωση

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

Ενθυλάκωση

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

Κλάσεις (Classes) 🏷️

Τι είναι η Κλάση;

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

Για παράδειγμα, αν έχουμε την κλάση Σκύλος στο παιχνίδι «Η Φάρμα των Ζώων», θα μπορούσαμε να έχουμε πολλά σκυλάκια με διαφορετικά χαρακτηριστικά, όπως ράτσα, μέγεθος, χρώμα, και συμπεριφορές όπως «Τρώω()», «Κοιμάμαι()», «Τρέχω()». 🎮🐕

**Κλάση **ΙδιότητεςΜεθόδοι
ΣκύλοςΡάτσαΤρώω()
ΧρώμαΚοιμάμαι()
ΜέγεθοςΤρέχω()
Όνομα
Ηλικία

Εικόνα: Μερικά αντικείμενα της κλάσης «Σκύλος» 🐕:

ΌνομαΡάτσαΜέγεθοςΧρώμαΗλικία
ΚάτιαΤσόου τσόουΜικρόΚαφέ1 έτους
ΣοφίαΣιχ ΤσουΜικρόΛευκό6 μηνών
ΜπρούνοΓερμανικός ΠοιμενικόςΜεσαίοΜαύρο4 μηνών
ΓκαςΡοτβάιλερΜεγάλοΜαύρο3 ετών
ΡούντιΓκρέιτ ΝτέινΜεγάλοΜαύρο3 ετών

Παράδειγμα: «Αποστολή λουλουδιών» 💐

Ας δούμε πώς μπορούμε να ομαδοποιήσουμε αντικείμενα σε κλάσεις στην ιστορία της αποστολής λουλουδιών. Όλοι οι ανθοπώλες, όπως ο Γιώργος και ο Τζοβάνι, μπορούν να αποτελέσουν αντικείμενα της κλάσης «Ανθοπώλης», με τις ίδιες ιδιότητες και μεθόδους.

Εικόνα 4.5: Διαγραμματική Αναπαράσταση Κλάσεων του προβλήματος «Αποστολή λουλουδιών».

ΚλάσηΙδιότητεςΜεθόδοι
ΠελάτηςΌνομα, Διεύθυνση, EmailΚάνειΠαραγγελία()
ΑνθοπώληςΌνομα, Κατάστημα, ΑΦΜΔέχεταιΠαραγγελία()
ΤαχυμεταφορέαςΌνομα, ΤηλέφωνοΠαραδίδειΑνθοδέσμη()
ΑνθοδέτηςΌνομα, ΕιδικότηταΕτοιμάζειΑνθοδέσμη()
Αξιοποίηση Κλάσεων

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

Με αυτό τον τρόπο, δημιουργούμε ένα αποδοτικό και ευέλικτο σύστημα αντικειμενοστραφούς προγραμματισμού!