Ο Προγραμματισμός με Αντικείμενα (OOP) είναι μια προσέγγιση στην ανάπτυξη λογισμικού όπου ο κώδικας οργανώνεται με τη μορφή αντικειμένων
Ενσωμάτωση
Η ενσωμάτωση είναι η συνένωση δεδομένων και μεθόδων που εργάζονται με αυτά τα δεδομένα μέσα σε μια κλάση, καθώς και ο περιορισμός της άμεσης πρόσβασης στην εσωτερική κατάσταση του αντικειμένου.
Με απλά λόγια: το αντικείμενο διαχειρίζεται τα δικά του δεδομένα, και ο εξωτερικός κώδικας αλληλεπιδρά μαζί του μέσω μεθόδων.
Αφηρημένη
Η αφηρημένη είναι η επιλογή μόνο των σημαντικών χαρακτηριστικών του αντικειμένου και η απόκρυψη των λεπτομερειών υλοποίησής του.
Με απλά λόγια: ο χρήστης ενδιαφέρεται για το τι κάνει το αντικείμενο, όχι πώς το κάνει ακριβώς.
Πολυμορφισμός
Ο πολυμορφισμός είναι η δυνατότητα των αντικειμένων με διαφορετικές υλοποιήσεις να χρησιμοποιούν μια κοινή διεπαφή. Στους ελέγχους, αυτό βοηθά στη συγγραφή καθολικού κώδικα που λειτουργεί με διαφορετικούς τύπους δεδομένων ή κλάσεις.
Παράδειγμα σε Python:
class Animal:
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Γουφ!"
class Cat(Animal):
def make_sound(self):
return "Μιαού!"
def animal_sound(animal: Animal):
print(animal.make_sound())
dog = Dog()
cat = Cat()
animal_sound(dog) # Γουφ!
animal_sound(cat) # Μιαού!
Σε αυτοματοποιημένους ελέγχους, ο πολυμορφισμός είναι χρήσιμος για:
- Τη δημιουργία καθολικών μεθόδων επαλήθευσης
- Την υλοποίηση διαφορετικών στρατηγικών δοκιμών μέσω μιας διεπαφής
- Την υποστήριξη διαφορετικών εκδόσεων API/UI χωρίς αλλαγή των δοκιμών
Κληρονομικότητα
Η κληρονομικότητα είναι ένας μηχανισμός που επιτρέπει σε μια νέα κλάση να χρησιμοποιεί αυτόματα μια υπάρχουσα, κληρονομώντας τις ιδιότητες και τις μεθόδους της.
Με απλά λόγια: η νέα κλάση επαναχρησιμοποιεί τον κώδικα της γονικής κλάσης και τον επεκτείνει αν χρειάζεται.