По сути, я вызываю продукт класса расширения < /code>, который может существовать только в контейнере < /code>. Он вычисляет количество, основанное на плотности и томе супер класса.
Это та часть, которая работает нормально.
Теперь проблема заключается в том, что размер контейнера может измениться, а также также объем. Это означает, что количество продукта тоже должно измениться, но это не так. Расширенный класс не распознает обновление данных супер класса. < /P>
Как я могу заставить его работать?
Код: Выделить всё
class Container {
#height;
#depth;
#width;
constructor() {
this.#height = 10;
this.#depth = 10;
this.#width = 10;
}
set width(length) {
this.#width = length;
}
get volume() {
return this.#width * this.#height * this.#depth;
}
}
class Product extends Container {
#density;
constructor(volume) {
super(volume);
this.#density = 4;
}
get quantity() {
return this.volume * this.#density;
}
}
const container = new Container();
const product = new Product();
// expectin 4,000 - true
console.log(product.quantity);
// expecting 6,000 - false
container.width = 15;
console.log(product.quantity);Подробнее здесь: https://stackoverflow.com/questions/797 ... er-is-used
Мобильная версия