Тестирую тут классы и возник вопрос. С наследованием свойств все ясно, методов тоже. А что с наследованием статических методов?
cp.staticMethodTest() выдаёт ошибку, ок, вроде так и должно быть - мы не разрешаем передачу этого метода, верно?
А почему тогда
cp.staticFuckingMethodTest() ошибку не выдаёт?
Зачем так придумали? class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
simpleMethod() {
return `I am a Simple Method: (${this.x}, ${this.y})`;
}
static staticMethod() {
return `I am a Static Method: (${this.x}, ${this.y})`;
}
}
class ColorPoint extends Point {
constructor(x, y) {
super(x, y);
}
simpleMethodTest() {
return super.simpleMethod();
}
staticFuckingMethodTest() {
return ColorPoint.staticMethod();
}
staticMethodTest() {
return super.staticMethod();
}
}
let cp = new ColorPoint(1, 0);
console.log(cp.simpleMethodTest());
console.log(cp.staticFuckingMethodTest());
console.log(cp.staticMethodTest());