2013-12-20 4 views
2

Я начал изучать «Начало разработки приложений для Android». Я натолкнулся на этот код ниже.
Я очень новичок в Java, может кто-нибудь объяснить, как автор вызывает разные методы с использованием точечного оператора, не используя ссылочную переменную и имя класса.?
Какую концепцию в java автор ссылается?Понимание концепции в Java

case 0: 
return new AlertDialog.Builder(this) 
.setIcon(R.drawable.icon) 
.setTitle(“This is a dialog with some simple text...”) 
.setPositiveButton(“OK”, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
    Toast.makeText(getBaseContext(), 
    “OK clicked!”, Toast.LENGTH_SHORT).show(); 
... 

ответ

6

Это называется Method chaining. По сути, каждый вызов метода возвращает сам объект, поэтому вы можете вызвать другой метод для возвращаемого значения.

API, которые реализуют цепочку методов, часто говорят о предоставлении fluent interface.

0

это ->new AlertDialog.Builder(this) здесь

это эквивалентно вызову этой функции

setIcon(R.drawable.icon) 
setTitle(“This is a dialog with some simple text...”) 
setPositiveButton() 

Метод чейнинг:

метод цепочка является методом для вызова нескольких вызовов методы , Он может сделать код более читаемым и помочь обеспечить свободный интерфейс. Методическая цепочка иногда злоупотребляется и может затруднить отладку терминов «крушение поезда». Я считаю, что метод привязки наиболее полезен при настройке свойств объекта.

пример: это способ chaning.

person.setName("Peter").setAge(21).introduce(); 

это не метод чейнинга

person.setName("Peter"); 
person.setAge(21); 
person.introduce(); 
0

Все считается одной строкой кода до окончательной полуколоны после закрытия всех скобок. Он просто разнесен так для удобочитаемости, иначе это была бы длинная строка кода.

Смежные вопросы