Aşağıdaki olduğunu varsayalım:ES6 Sınıflar: süper yönteminde bir alt sınıfın uygun bir isim alın
class ThingWithWheels {
constructor(numWheels) {
this.numWheels = numWheels
}
toString() {
return this.constructor.name;
}
}
class Car extends ThingWithWheels {
constructor(color) {
super(4);
this.color = color;
}
toString() {
return `${this.color} ${super.toString()}`;
}
}
Bu oldukça standart Nesne Tabanlı Programlama olduğunu. Ancak, NodeJS v5.6.0'da kırmızı bir araba yapıp toString()
numaralı telefonu arayarak Red Car
numaralı telefon numarasını Red ThingWithWheels
verecektir. Süper yöntemi çağırdığımda, this
, Car
değil ThingWithWheels
davranır.
- Neden?
- Süper yöntemin adı doğru alması için bunu yapmanın bir yolu var mı?
Aşağıdakilerden hangisi buradan devralınır? Miras göstermiyorsun. – jfriend00
Eğer sınıf Araba ThingWithWheels uzanır demek, burada okuyun, daha fazla araştırma yapmak zorundasınız: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes – JordanHendrix
"Genişlet" yazmayı unuttum ThingWithWheels". Davranışı değiştirmez. –