Ενθυλάκωση (Encapsulation) - Το "Μαύρο Κουτί"
Η Ενθυλάκωση είναι ο μηχανισμός με τον οποίο "πακετάρουμε" τα δεδομένα (Ιδιότητες) και τις λειτουργίες (Μέθοδοι) μέσα σε μια Κλάση. Το πιο σημαντικό είναι ότι κρύβουμε τις λεπτομέρειες υλοποίησης από τον έξω κόσμο.
Φανταστείτε ένα ATM. Πατάτε κουμπιά (μέθοδοι) για να κάνετε ανάληψη, αλλά δεν έχετε άμεση πρόσβαση στον εσωτερικό μηχανισμό που αποθηκεύει το υπόλοιπό σας (ιδιότητες).
Παράδειγμα σε Ψευδογλώσσα
ΚΛΑΣΗ Τραπεζικός_Λογαριασμός
ΙΔΙΟΤΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: Υπόλοιπο ! Αυτό είναι "κρυμμένο"
ΜΕΘΟΔΟΙ
ΔΙΑΔΙΚΑΣΙΑ Κατάθεση(Ποσό)
ΑΡΧΗ
Υπόλοιπο <- Υπόλοιπο + Ποσό
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΤΕΛΟΣ_ΚΛΑΣΗΣ
Κληρονομικότητα (Inheritance) - Ανακύκλωση Κώδικα
Η Κληρονομικότητα μας επιτρέπει να δημιουργήσουμε μια νέα κλάση (Υποκλάση), η οποία "παίρνει" έτοιμες όλες τις ιδιότητες και τις μεθόδους μιας άλλης κλάσης (Υπερκλάση), και προσθέτει τα δικά της νέα χαρακτηριστικά.
Στο παρακάτω παράδειγμα, έχουμε τον γενικό Υπάλληλο και τον Διευθυντή που είναι και αυτός υπάλληλος (άρα έχει όνομα και βασικό μισθό), αλλά έχει επιπλέον και ένα επίδομα θέσης.
Παράδειγμα σε Ψευδογλώσσα
ΚΛΑΣΗ Υπάλληλος
ΙΔΙΟΤΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: Όνομα
ΠΡΑΓΜΑΤΙΚΕΣ: Βασικός_Μισθός
ΤΕΛΟΣ_ΚΛΑΣΗΣ
! Ο Διευθυντής ΚΛΗΡΟΝΟΜΕΙ το Όνομα και τον Βασικό_Μισθό
ΚΛΑΣΗ Διευθυντής ΚΛΗΡΟΝΟΜΕΙ Υπάλληλος
ΙΔΙΟΤΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: Επίδομα_Θέσης
ΜΕΘΟΔΟΙ
ΣΥΝΑΡΤΗΣΗ Τελικός_Μισθός() : ΠΡΑΓΜΑΤΙΚΗ
ΑΡΧΗ
Τελικός_Μισθός <- Βασικός_Μισθός + Επίδομα_Θέσης
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
ΤΕΛΟΣ_ΚΛΑΣΗΣ
Πολυμορφισμός (Polymorphism) - Ίδια Εντολή, Διαφορετική Συμπεριφορά
Στον Αντικειμενοστρεφή Προγραμματισμό, ο πολυμορφισμός μας επιτρέπει να χρησιμοποιούμε το ίδιο όνομα για μια μέθοδο σε διαφορετικές κλάσεις, αλλά αυτή η μέθοδος να κάνει διαφορετικά πράγματα ανάλογα με το αντικείμενο που την καλεί (Υπερκάλυψη - Overriding).
Αν δώσουμε την εντολή "Μίλησε" σε έναν σκύλο θα γαβγίσει, ενώ σε μια γάτα θα νιαουρίσει. Η εντολή (μέθοδος) είναι η ίδια, η συμπεριφορά αλλάζει!
Παράδειγμα σε Ψευδογλώσσα
ΚΛΑΣΗ Ζώο
ΜΕΘΟΔΟΙ
ΔΙΑΔΙΚΑΣΙΑ Μίλησε()
ΑΡΧΗ
ΓΡΑΨΕ "Κάνω έναν γενικό θόρυβο..."
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΤΕΛΟΣ_ΚΛΑΣΗΣ
ΚΛΑΣΗ Σκύλος ΚΛΗΡΟΝΟΜΕΙ Ζώο
ΜΕΘΟΔΟΙ
! Εδώ ξαναγράφουμε τη μέθοδο (Πολυμορφισμός)
ΔΙΑΔΙΚΑΣΙΑ Μίλησε()
ΑΡΧΗ
ΓΡΑΨΕ "Γαβ Γαβ!"
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΤΕΛΟΣ_ΚΛΑΣΗΣ
ΚΛΑΣΗ Γάτα ΚΛΗΡΟΝΟΜΕΙ Ζώο
ΜΕΘΟΔΟΙ
! Διαφορετική συμπεριφορά για την ίδια μέθοδο
ΔΙΑΔΙΚΑΣΙΑ Μίλησε()
ΑΡΧΗ
ΓΡΑΨΕ "Νιάου!"
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΤΕΛΟΣ_ΚΛΑΣΗΣ