Значение префикса "on" в именах методов в Android

Что означает префикс "on" в названиях методов в Android. Например, метод onDraw(). У меня есть, конечно, предположения, но хотелось бы точную информацию. В интернете не получилось найти.


Ответы (4 шт):

Автор решения: Maks

Так обозначают те методы, которые вызываются только при воздействии на что-то пользователем. А методы без префикса вы можете вызвать где хотите и когда хотите. Например onClick. Он вызывается только при нажатии на объект.

→ Ссылка
Автор решения: Style-7

При переводе можете заменять "on" на предлог "при":

  • При рисовании;
  • При нажатии;
  • При соединении;

и т.п.

→ Ссылка
Автор решения: Вася Воронцов

Любой переводчик Вам ответит, что "on" значит "на" или "по". Например, onCreate() - метод в классе Activity, выполняемый по инициализации (создании) экземпляра.

Подытожим, методы начинаются на on, если они отвечают на какое-либо событие (необязательно инициированного пользователем).

Теоретически, Вы можете создать свой метод, который начинается на on, но который не будет привязан к событию. Приставка не является обязательной, однако её используют для того, чтобы код был понятным и легкочитаемым.

Если интересно, то я нашёл обратный вопрос на английском StackOverflow.

→ Ссылка
Автор решения: pavlofff

Приставкой on- обозначаются методы-колбэки (методы интерфейсов обратного вызова). Как правило реализация колбэка - это реализация какого то действия или реакции на событие.

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

Например, метод-колбэк onClick() интерфейса обратного вызова OnClickListener. Буквально название метода значит - приКлике, то есть такие методы имеют разную реализацию действий в том или ином случае, а не всегда определенный набор команд, как "обычные" методы и вызывается он именно при реакции на событие, а не в произвольном месте кода программистом.

Так же следует понимать, что это просто соглашение для удобства понимания назначения метода. Сама по себе приставка on- не наделяет метод какими то свойствами.

→ Ссылка