Źródło: Arkusze CKE
Co zostanie wyświetlone po wykonaniu poniższego kodu?
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return ${this.name} makes a noise.;
}
}
class Dog extends Animal {
speak() {
return ${this.name} barks.;
}
}
let dog = new Dog('Rex');
console.log(dog.speak());
Warianty odpowiedzi
-
A
Rex barks.
-
B
Error: speak is not defined
-
C
undefined
-
D
Rex makes a noise.
Wyjaśnienie
W podanym kodzie klasa Dog dziedziczy po klasie Animal i nadpisuje (przesłania) jej metodę speak().
Tworzymy instancję klasy Dog z argumentem 'Rex'.
Gdy wywołujemy metodę dog.speak(), uruchamia się wersja zdefiniowana w klasie Dog. Zwraca ona napis "Rex barks.", który zostaje wypisany w konsoli.