Как вы вызываете метод, который переопределяет метод родительских классов, потому что он не хочет функциональности - PullRequest
0 голосов
/ 23 апреля 2020

Это вопрос о терминологии в OOP.

Допустим, у вас есть два класса A и B, с

class A extends B {}

Теперь B имеет метод с именем doSomething(), который он вызывает в своем constructor.

class B {
  constructor() {
    this.doSomething();
  }
  doSomething() {
    /* some functionality almost all classes extending B need */
  }
}

Теперь, к сожалению, A не хочет и не нуждается в том, что происходит, когда конструктор B вызывает doSomething(). Это даже вредно для экземпляров A.

Ориентация объекта предлагает возможность перезаписать (или это переопределить ?) Метод в наследующем классе:

class A extends B {
  constructor() {
    super(); // calls the contructor of B
  }
  doSomething() {
    this.doNothing();
  }
  doNothing() { 
    return;
  }
}

Мой вопрос:

Существует ли конкретный c термин в ориентации объекта, который описывает именно этот способ перезаписи / переопределения унаследованного метода с помощью метода что нейтрализует функциональность унаследованных методов, делая в основном ничего ? Как вы звоните A doSomething()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...