JavaScript-klas strek
Voorbeeld
Skep 'n klas met die naam "Model" wat die metodes van die "Car" klas sal erf:
class Car {
constructor(brand) {
this.carname =
brand;
}
present() {
return 'I have a ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML
= mycar.show();
Definisie en gebruik
Die extends
sleutelwoord word gebruik om 'n kinderklas van 'n ander klas (ouer) te skep.
Die kinderklas erf al die metodes van 'n ander klas.
Oorerwing is nuttig vir kode herbruikbaarheid: hergebruik eienskappe en metodes van 'n bestaande klas wanneer jy 'n nuwe klas skep.
Let wel: Uit die voorbeeld hierbo; Die super()
metode verwys na die ouerklas. Deur die super()
metode in die konstruktormetode te noem, roep ons die ouer se konstruktormetode en kry ons toegang tot die ouer se eienskappe en metodes.
Blaaierondersteuning
extends
is 'n ECMAScript6 (ES6) kenmerk.
ES6 (JavaScript 2015) word in alle moderne blaaiers ondersteun:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
extends
word nie in Internet Explorer 11 (of vroeër) ondersteun nie.
Sintaksis
class childClass extends parentClass
Tegniese besonderhede
JavaScript weergawe: | ECMAScript 2015 (ES6) |
---|
Verwante bladsye
JavaScript-tutoriaal: JavaScript-klasse
JavaScript-tutoriaal: JavaScript ES6 (EcmaScript 2015)
JavaScript-verwysing: Die super sleutelwoord
JavaScript-verwysing: Die konstruktor() metode