Κληρονομικότητα κλάσης JavaScript

Σε αυτό το σεμινάριο, θα μάθετε για την κληρονομιά κλάσης 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()μέθοδο.

Χρήσεις κληρονομικότητας

  • Δεδομένου ότι μια παιδική τάξη μπορεί να κληρονομήσει όλες τις λειτουργίες της τάξης του γονέα, αυτό επιτρέπει την επαναχρησιμοποίηση κώδικα.
  • Μόλις αναπτυχθεί μια λειτουργικότητα, μπορείτε απλώς να την κληρονομήσετε. Δεν χρειάζεται να ανακαλύψουμε ξανά τον τροχό. Αυτό επιτρέπει καθαρότερο κώδικα και ευκολότερη συντήρηση.
  • Εφόσον μπορείτε επίσης να προσθέσετε τις δικές σας λειτουργίες στην παιδική τάξη, μπορείτε να κληρονομήσετε μόνο τις χρήσιμες λειτουργίες και να ορίσετε άλλες απαιτούμενες λειτουργίες.

ενδιαφέροντα άρθρα...