Κληρονομία; - Απαντήσεις
Η τάξη που κληρονομεί από μια άλλη τάξη ονομάζεται "υποκλάση" ή "παραγόμενη τάξη". Η τάξη που κληρονομείται από την κληρονομιά ονομάζεται "superclass" ή "βασική κλάση".
Όταν μια κλάση κληρονομεί από μια άλλη τάξη, παίρνει αυτόματα όλες τις ιδιότητες και τις μεθόδους της υπερκλάσης. Η νέα κλάση μπορεί στη συνέχεια να προσθέσει τις δικές της ιδιότητες και μεθόδους ή μπορεί να αντικαταστήσει τις ιδιότητες και τις μεθόδους της υπερκλάσης.
Η κληρονομιά χρησιμοποιείται για τη δημιουργία μιας ιεραρχίας των τάξεων, με κάθε τάξη να κληρονομεί από έναν κοινό πρόγονο. Αυτό καθιστά δυνατή την επαναχρησιμοποίηση του κώδικα και τη δημιουργία νέων τάξεων με διαφορετική λειτουργικότητα.
Για παράδειγμα, εξετάστε μια τάξη που ονομάζεται `Animal '. Αυτή η κλάση μπορεί να έχει ιδιότητες όπως «όνομα», «ηλικία» και «είδη». Μπορεί επίσης να έχει μεθόδους όπως `Eat ()`, `Sleep ()` και `MOVE ()`.
Τώρα σκεφτείτε μια τάξη που ονομάζεται «σκυλί». Η τάξη "Dog` μπορεί να κληρονομήσει από την τάξη" Animal ". Αυτό σημαίνει ότι η τάξη "Dog` θα πάρει αυτόματα όλες τις ιδιότητες και τις μεθόδους της τάξης" Animal ". Η κατηγορία "Dog` μπορεί στη συνέχεια να προσθέσει τις δικές της ιδιότητες και μεθόδους, όπως μια μέθοδος" Bark ().
Αυτό είναι ένα απλό παράδειγμα του τρόπου με τον οποίο χρησιμοποιείται η κληρονομιά για τη δημιουργία μιας νέας κλάσης με διαφορετική λειτουργικότητα. Η κληρονομιά είναι ένα ισχυρό εργαλείο που μπορεί να χρησιμοποιηθεί για τη δημιουργία σύνθετων και ευέλικτων αντικειμενικών προγραμμάτων.
Ακολουθούν ορισμένα επιπλέον παραδείγματα για το πώς χρησιμοποιείται η κληρονομιά σε εφαρμογές πραγματικού κόσμου:
* Η κλάση `java.lang.object` είναι η κλάση βάσης για όλα τα αντικείμενα στη γλώσσα προγραμματισμού Java. Κάθε άλλη τάξη στην Java κληρονομεί από την κλάση `Object '.
* Η κατηγορία `java.util.arraylist` είναι μια υποκατηγορία της κατηγορίας` java.util.abstractlist '. Αυτό σημαίνει ότι η κλάση `ArrayList 'έχει όλες τις ιδιότητες και τις μεθόδους της κλάσης` AbstractList' Plus, καθώς έχει τις δικές της ιδιότητες και μεθόδους.
* Η κατηγορία `javax.swing.jbutton 'είναι μια υποκατηγορία της κατηγορίας` javax.swing.jcomponent. Αυτό σημαίνει ότι η κλάση `JButton 'έχει όλες τις ιδιότητες και τις μεθόδους της κλάσης` JComponent', καθώς έχει τις δικές της ιδιότητες και μεθόδους.