У меня есть класс Point в котором существует метод showPoints() для вывода информации о точке с координатами и установкой координаты x и y. Создать второстепенный класс Graphicpoint. В этом классе добавляются новые данные: цвет точки, функция вывода координат точки.Я сделал так , но у меня возникла проблема с наследованием. В коде видно, что я создаю метод в классе предка в котором добавляю значение координат в массив. Но когда я переопределяю метод в классе graphicPoint то этот метод просто не видит эту переменную. Получается когда мы переопределяем метод , переменные которые были там объявлены не передаются в метод другого класса? Как тогда будет правильно поступить, можно ли к примеру тогда объявить эту переменную в конструкторе класса Point
class Point{
constructor(x,y){
this.x = x;
this.y = y;
}
showPoints(){
let resultArr = [];
resultArr.push(this.x);
resultArr.push(this.y);
return resultArr;
}
set cordinateX(number){
this.x = number;
}
set cordinateY(number){
this.y = number;
}
}
class GraphicPoint extends Point{
constructor(x,y,color){
super(x,y);
this.color = color;
}
showPoints(){
super.showPoints();
resultArr.push(this.color);
return resultArr;
}
}
Как пример, можно сделать вот так:
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
getPoints() {
return [this.x, this.y];
}
}
class GraphicPoint extends Point {
constructor(x, y, color) {
super(x, y);
this.color = color;
}
getPoints() {
return [...super.getPoints(), this.color];
}
}
var gp = new GraphicPoint(1, 3, 'red');
console.log(gp.getPoints());
showPoints(){
let resultArr = [];
resultArr.push(this.x);
resultArr.push(this.y);
return resultArr;
}
Здесь resultArr
локальная переменная внутри Point.showPoints
, о которой снаружи этого метода никому ничего не известно.
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
showPoints() {
let resultArr = [];
resultArr.push(this.x);
resultArr.push(this.y);
return resultArr;
}
set cordinateX(number) {
this.x = number;
}
set cordinateY(number) {
this.y = number;
}
}
class GraphicPoint extends Point {
constructor(x, y, color) {
super(x, y);
this.color = color;
}
showPoints() {
var resultArr = super.showPoints(); // !!!
resultArr.push(this.color);
return resultArr;
}
}
var gp = new GraphicPoint(123, 456, "green");
console.log(gp.showPoints());
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть div, в котором распологаются img и aНужно вызвать событие при клике по любой области этого элемента: и по пустой, и по тем, где расположены...
Понимаю вопрос может быть не слишком понятен, но постараюсь изложить суть как можно яснееЕсть блоки в которых расположен контент, они имеют...
Есть блок div с названием класса penguin, мне нужно опустить данный блок на 10% вниз от родительского блока, но свойство top не применяетсяПробовал...
при регистрации пользователя нужно проверить явдяется ли он администратором,проще сказать admin ли его логин, и если он админ,то перекидываю...