@MustOverride аннотация?

Если вы используете стандартную ОС POSIX, вы используете cron .

Если вы используете Windows, вы используете в .

Напишите команду управления Django для

  1. Определите, на какой платформе они находятся.
  2. Либо выполните соответствующую команду «AT» для ваших пользователей, или обновить crontab для ваших пользователей.

13
задан Harrypotter2k5 30 April 2010 в 05:27
поделиться

3 ответа

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

Настоящая особенность заключается в том, чтобы «переопределить метод в суперклассе, который сам имеет некоторую логику, которую необходимо выполнить». Если вы переопределите метод, метод суперкласса не будет вызываться, если вы явно не вызовете его.

В подобных ситуациях я обычно делал что-то вроде:

abstract public class Worker implements Runnable {
  @Override
  public final void run() {
    beforeWork();
    doWork();
    afterWork();
  }

  protected void beforeWork() { }
  protected void afterWork() { }
  abstract protected void doWork();
}

, чтобы принудить конкретную логическую структуру к методу интерфейса. Вы можете использовать это, например, для подсчета вызовов, не беспокоясь о том, вызывает ли пользователь super.run () и т. Д.

12
ответ дан 1 December 2019 в 18:12
поделиться

... и если объявление базового класса abstract не является вариантом, вы всегда можете выбросить UnsupportedOperationException

class BaseClass {
    void mustOverride() {
        throw new UnsupportedOperationException("Must implement");
    }
}

Но это, конечно, не проверка во время компиляции ...

{ {1}}
5
ответ дан 1 December 2019 в 18:12
поделиться

Я не уверен, о каком атрибуте вы думаете в .NET.

В VB вы можете применить модификатор MustOverride к методу, но это просто эквивалентно созданию абстрактного метода в Java. Атрибут / аннотация не требуется, поскольку концепция встроена в языки. Это больше, чем просто применение метаданных - есть также важное отличие в том, что абстрактный метод не включает в себя саму реализацию.

Если вы действительно думаете, что есть такой атрибут, не могли бы вы сказать, какой из них вы имеете в виду?

4
ответ дан 1 December 2019 в 18:12
поделиться
Другие вопросы по тегам:

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