class Second {
m_Name = 'Module'
m_State = true
constructor(name) {
this.m_Name = name
}
turnState(value = !this.m_State) {
this.m_State = value
}
}
class First extends Second {
constructor() {
super('First')
}
}
Каким образом в Second можно проследить вызов First?
// Класс, от которого будет наследоваться другой
class Parent {
// Состояние активности
state = true
// Изменить состояние активности
turnState(value = !this.state) {
this.state = value
}
}
// Наследующий класс, функции которого должны быть недоступны, если state == false
class Child extends Parent {
someFunc() {
return 'Some string';
}
}
// Класс, от которого будет наследоваться другой
class Parent {
// Состояние активности
state = true
// Изменить состояние активности
turnState() {
this.state = !this.state;
}
}
// Наследующий класс, функции которого должны быть недоступны, если state == false
class Child extends Parent {
someFunc() {
if (!this.state) return null;
return 'Some string';
}
}
const obj1 = new Child();
const obj2 = new Child();
console.log( obj1.someFunc() ); // Some string
console.log( obj2.someFunc() ); // Some string
obj1.turnState();
console.log( obj1.someFunc() ); // null
console.log( obj2.someFunc() ); // Some string
obj2.turnState();
console.log( obj1.someFunc() ); // null
console.log( obj2.someFunc() ); // null