Я пытаюсь использовать диалоги в Android. В этом процессе я столкнулся с такими строками кода, как:
alertDialogBuilder .setMessage("Click yes to exit!") .setCancelable(false) .setPositiveButton("Yes",new...
Это обозначение немного странно для меня как старый программист на C ++. Это то же самое,
alertDialogBuilder.setMessage("Click yes to exit!"); alertDialogBuilder.setCancelable(false); alertDialogBuilder.setPositiveButton("Yes",new...
Если это так, является ли эта нотная часть Java или уникальной для Android программирования? Как называется это обозначение (или метод)?
Эта идиома называется цепочкой методов, и она не специфична для Java или Android. Хитрость заключается в том, что методы, которые в противном случае вернут void, вернут ссылку на this
, позволяя длинные цепочки вызовов методов одному и тому же объекту.
Эта идиома весьма полезна при использовании в шаблоне построителя , как в вашем примере. Это также строительный блок при проектировании плавных интерфейсов .
Вы можете сделать то же самое с C ++, а просто вернуть тот же объект (этот указатель). Поэтому в конечном итоге вы вызываете следующую функцию, возвращая этот указатель.
Он используется в шаблоне проектирования Builder!
На самом деле код:
alertDialogBuilder.setMessage("Click yes to exit!").setCancelable(false).setPositiveButton("Yes",new...
Возможно, форматирование заставило вас задуматься. Как вы можете видеть, и, как упоминалось в других ответах, setMessage()
очевидно, возвращает alertDialogBuilder
позволяющий называть его другим методом.