⊗jsOpIhCOM 32 of 60 menu

Κλήση υπερκαλυμμένης μεθόδου στην ΑΑΠ στο JavaScript

Κατά την υπερκάλυψη, ο απόγονος χάνει την πρόσβαση στην υπερκαλυμμένη μέθοδο του γονέα. Ωστόσο, είναι ακόμα δυνατόν να αποκτήσει πρόσβαση σε αυτήν. Αυτό γίνεται χρησιμοποιώντας τη λέξη-κλειδί super, που δείχνει towards την γονική κλάση.

Ας δούμε ένα παράδειγμα όπου μπορεί να χρειαστεί πρόσβαση στη γονική μέθοδο. Ας υποθέσουμε ότι έχουμε την ακόλουθη γονική κλάση:

class User { setName(name) { this.name = name; } getName() { return this.name; } }

Ας υποθέσουμε ότι στην κλάση-απόγονο υπερκαλύψαμε τη μέθοδο του γονέα:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('student name error'); } } }

Μπορεί να παρατηρηθεί ότι στην υπερκαλυμμένη μέθοδο, όταν ικανοποιείται η συνθήκη, ουσιαστικά εκτελείται ο κώδικας της γονικής μεθόδου. Αποτελεί λοιπόν αχρείαστη διπλοτυπία κώδικα.

Μπορούμε να την αποφύγουμε, εάν καλέσουμε τη μέθοδο του γονέα. Ας το κάνουμε:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // μέθοδος γονέα } else { throw new Error('student name error'); } } }

Δίνεται ο ακόλουθος κώδικας:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } else { throw new Error('need age less 120'); } } }

Στην κλάση Employee διορθώστε απλοποιήστε τον setter ηλικίας, χρησιμοποιώντας την αρχική μέθοδο του γονέα.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη