Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει Κληρονομικότητα;
Η κληρονομιά, στην C #, είναι η δυνατότητα δημιουργίας μιας κλάσης που κληρονομεί ιδιότητες και συμπεριφορές από μια υπάρχουσα τάξη. Η νεοδημιουργηθείσα κλάση είναι η παράγωγη (ή κλάδος) κλάση και η υπάρχουσα κλάση είναι η βασική (ή μητρική) κλάση.
Η κληρονομικότητα είναι ένα από τα βασικά χαρακτηριστικά του αντικειμενοστρεφούς προγραμματισμού. Τα οφέλη της κληρονομιάς αποτελούν μέρος του λόγου για τον οποίο ο δομικός προγραμματισμός μπορεί να αντικατασταθεί από αντικειμενοστραφή προγραμματισμό.
Η κληρονομικότητα στο C # έχει σχεδιαστεί τόσο σε επίπεδο υλοποίησης όσο και σε περιβάλλον διεπαφής. Η εφαρμογή της κληρονομιάς περιλαμβάνει κώδικα από μια τάξη που επαναχρησιμοποιείται σε άλλη, ενώ η κληρονομιά διεπαφής συνεπάγεται την κληρονομιά μόνο των υπογραφών λειτουργιών από τον ένα τύπο στον άλλο.
Η κληρονομιά είναι επίσης γνωστή ως γενίκευση.
Η Techopedia εξηγεί την Κληρονομικότητα
Το C # δεν υποστηρίζει πολλαπλή κληρονομικότητα, πράγμα που σημαίνει ότι μια κλάση μπορεί να προέρχεται μόνο από μια κλάση βάσης, αν και μια κλάση μπορεί να προέρχεται από μία ή περισσότερες διεπαφές. Λόγω της μεταβατικής φύσης της κληρονομιάς, μια παράγωγη τάξη κληρονομεί όλα τα μέλη των προγόνων της.
Για παράδειγμα, τα μαθήματα, Αυτοκίνητο και Λεωφορείο μπορούν να προέρχονται από μια κατηγορία βάσης, Όχημα, μέσω κληρονομίας, διότι τόσο το Αυτοκίνητο όσο και το Λεωφορείο είναι τύποι οχήματος.
Τα κύρια χαρακτηριστικά της κληρονομιάς περιλαμβάνουν:
- Όλα τα μέλη της βασικής κλάσης εκτός από εκείνα με ιδιωτική προσβασιμότητα μπορούν να έχουν πρόσβαση στην κλάση που προέρχεται.
- Όλα τα μέλη της βασικής κλάσης κληρονομούνται από τη βασική κατηγορία εκτός από κατασκευαστές και καταστροφείς.
- Σε αντίθεση με τη C ++, οι εικονικές μέθοδοι σε μια παράγωγη κλάση πρέπει να χρησιμοποιήσουν τον τροποποιητή "override" για να παρακάμψουν ένα κληρονομούμενο μέλος.
- Για να αποκρύψετε ένα κληρονομούμενο μέλος με το ίδιο όνομα και υπογραφή στην κλάση που παράγεται, μπορεί να χρησιμοποιηθεί ο "νέος" τροποποιητής.
- Για να αποφευχθεί η άμεση εμφάνιση μιας κλάσης, μπορεί να χρησιμοποιηθεί ο "αφηρημένος" τροποποιητής.
- Για να αποφευχθεί η περαιτέρω παραγωγή μιας βασικής κλάσης, μπορεί να δηλωθεί με τη χρήση "σφραγισμένου" τροποποιητή.
- Επιτρέπει την κατασκευή μιας ιεραρχίας σχετικών τάξεων που μπορούν να επαναχρησιμοποιήσουν, να επεκτείνουν και να αλλάξουν τις συμπεριφορές που ορίζονται στις υπάρχουσες τάξεις.
- Επιτρέπει επαναχρησιμοποίηση κώδικα, μειώνοντας το χρόνο και την προσπάθεια κωδικοποίησης και δοκιμής.
- Βοηθάει στη βελτίωση της διαμόρφωσης και της απόδοσης, διαιρώντας μεγάλα κομμάτια κώδικα σε μικρότερα, πιο διαχειρίσιμα κομμάτια.
- Αποτελεί το μέσο επίτευξης πολυμορφισμού, το οποίο επιτρέπει σε ένα αντικείμενο να αντιπροσωπεύει περισσότερους από έναν τύπους.
Ο ορισμός αυτός γράφτηκε στο πλαίσιο του C #






