我的名字是喬治,我正在使用谷歌地圖在 android studio 中制作一個 android 應用程式,我有一個問題,我還是一個初學者,所以我不明白為什么你發送到方法 addmarker 的資料有建構式方法和其他方法結合在一起,這個方法鏈是什么意思?為什么它們與點結合并發送到方法addmarker?感謝您的幫助,如果需要詳細說明,您可以幫助我告訴我必須學習的課程或主題:) 我附上了我提到的代碼部分
mMap.addMarker(new MarkerOptions().position(posicion).title("Primer posicion").snippet("Hora de llegada: " hora1));
uj5u.com熱心網友回復:
您使用的chain術語是一個很好的術語,因為它被稱為method chaining(或更具體地method cascading)并且只是MarkerOptions在一個陳述句而不是一系列陳述句中呼叫物件(實體)上的一系列方法的一種方式。(這不是 Java 獨有的。)
這是一個沒有鏈接的等價物:
MarkerOptions mo = new MarkerOptions().
mo.position(posicion);
mo.title("Primer posicion");
mo.snippet("Hora de llegad: " hora1);
mMap.addMarker(mo);
就是這樣——語法糖。
現在,對于一個實作方法鏈接的類,上面的每個方法都將回傳該this物件。因此,例如該position方法(在MarkerOptions實作中)看起來像:
public MarkerOptions position(LatLng latLng) {
// do something with latLng
return this;
}
因此,每個支持鏈接的方法都會回傳帶有this關鍵字的當前實體。
至于只是一系列物件方法呼叫的語法,就像擴展版本一樣,但是是串聯的。
由于addMarker接受一個MarkerOptions實體,因此該系列中的結論snippet方法滿足簽名,因為它回傳一個MarkerOptions.
構建器模式是一種通常使用方法鏈的單一設計。
方法鏈接的一個限制是方法只能回傳實體參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/421280.html
標籤:
