Σε αυτό το σεμινάριο, θα μάθετε για την κληρονομιά κλάσης JavaScript με τη βοήθεια παραδειγμάτων.
Κληρονομικότητα τάξης
Το κληρονομικό σας επιτρέπει να ορίσετε μια κλάση που λαμβάνει όλες τις λειτουργίες από μια μητρική τάξη και σας επιτρέπει να προσθέσετε περισσότερα.
Χρησιμοποιώντας κληρονομιά κλάσης, μια τάξη μπορεί να κληρονομήσει όλες τις μεθόδους και τις ιδιότητες μιας άλλης τάξης.
Το κληρονομικό είναι ένα χρήσιμο χαρακτηριστικό που επιτρέπει την επαναχρησιμοποίηση κώδικα.
Για να χρησιμοποιήσετε την κληρονομιά τάξης, χρησιμοποιείτε τη extends
λέξη-κλειδί. Για παράδειγμα,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();
Παραγωγή
Γεια σου Τζακ
Στο παραπάνω παράδειγμα, η Student
κλάση κληρονομεί όλες τις μεθόδους και τις ιδιότητες της Person
τάξης. Ως εκ τούτου, η Student
τάξη θα έχει τώρα την name
ιδιότητα και τη greet()
μέθοδο.
Στη συνέχεια, αποκτήσαμε πρόσβαση στη greet()
μέθοδο της Student
κλάσης δημιουργώντας ένα student1
αντικείμενο.
Σούπερ λέξη-κλειδί JavaScript ()
Η super
λέξη-κλειδί που χρησιμοποιείται σε μια θυγατρική τάξη δηλώνει τη μητρική της τάξη. Για παράδειγμα,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();
Εδώ, η super
εσωτερική Student
τάξη αναφέρεται στην Person
τάξη. Ως εκ τούτου, όταν Student
καλείται ο κατασκευαστής της τάξης, καλεί επίσης τον κατασκευαστή της Person
τάξης που του εκχωρεί μια ιδιότητα ονόματος.
Παράκαμψη μέθοδος ή ιδιότητα
Εάν μια θυγατρική τάξη έχει την ίδια μέθοδο ή όνομα ιδιότητας με αυτήν της γονικής τάξης, θα χρησιμοποιήσει τη μέθοδο και την ιδιότητα της θυγατρικής τάξης. Αυτή η έννοια ονομάζεται μέθοδος παράκαμψης. Για παράδειγμα,
// parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();
Παραγωγή
Γεια σου μαθητή Τζακ. επάγγελμα: Μαθητής
Εδώ, η occupation
ιδιότητα και η greet()
μέθοδος υπάρχουν στην Person
τάξη γονέων και στην παιδική Student
τάξη. Ως εκ τούτου, η Student
τάξη παρακάμπτει την occupation
ιδιότητα και τη greet()
μέθοδο.
Χρήσεις κληρονομικότητας
- Δεδομένου ότι μια παιδική τάξη μπορεί να κληρονομήσει όλες τις λειτουργίες της τάξης του γονέα, αυτό επιτρέπει την επαναχρησιμοποίηση κώδικα.
- Μόλις αναπτυχθεί μια λειτουργικότητα, μπορείτε απλώς να την κληρονομήσετε. Δεν χρειάζεται να ανακαλύψουμε ξανά τον τροχό. Αυτό επιτρέπει καθαρότερο κώδικα και ευκολότερη συντήρηση.
- Εφόσον μπορείτε επίσης να προσθέσετε τις δικές σας λειτουργίες στην παιδική τάξη, μπορείτε να κληρονομήσετε μόνο τις χρήσιμες λειτουργίες και να ορίσετε άλλες απαιτούμενες λειτουργίες.