Первый вариант - сделать класс-родитель абстрактным и объявить в нем абстрактный метод methodB. Компилятор будет требовать, чтобы в классе-потомке в обязательном порядке был объявлен methodB
abstract class Parent {
methodA(){
this.methodB();
}
abstract methodB(): void
};
class Child1 extends Parent { // Ошибка: Non-abstract class 'Child1' does not implement inherited abstract member 'methodB' from class 'Parent'.
constructor(){
super();
}
}
Если нет возможности объявить класс-родитель как абстрактный, можно объявить внутри него метод methodB и кидать в нем exception, мол, этот метод должен быть переобъявлен в потомке. Так ошибка будет ловиться только в рантайме, но это лучше, чем ничего.
P.S.: Но вообще полагаться в родителе на методы потомков - не очень хорошая практика =)