Jeħtieġ li l-metodu jinqabeż biex iċempel super

Irrid li meta klassi tat-tfal tegħleb metodu fi klassi ġenitur, is- super.method () jissejjaħ f'dak il-metodu tat-tfal.

Hemm xi mod biex tikkontrolla dan fil-ħin tal-kumpilazzjoni?
Jekk le, kif immur narmi eċċezzjoni ta 'runtime meta jiġri dan?

29
задан Shadow The Princess Wizard 28 July 2011 в 08:12
поделиться

1 ответ

К сожалению, нет способа требовать его во время компиляции и нет способа обнаружить его во время выполнения (если нет какой-то определенной логики приложения или последовательности событий, которые вы могли бы использовать, чтобы обнаружить, что метод не вызывается). лучшее, что можно сделать, это тщательно документировать метод.

Если вы действительно хотите идти по этому пути, вы можете использовать что-то вроде этого:

public class BaseClass {

  public final void myMethod() {
    // do special stuff here which must always happen ...

    // allow subclasses to customize myMethod() here
    myMethodCustom();
  }

  protected void myMethodCustom() {
    // base class does nothing
  }
}
1
ответ дан 28 November 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: