鏈式呼叫方法的實現原理和方法

2021-10-03 11:01:38 字數 1116 閱讀 7177

1.什麼是鏈式呼叫?

person person =newperson().setname(fog)

.setage(18)

.set***(man)

.setjob(software engineer);

2.優勢和好處

有以上的**,好處顯而易見:**量大幅度減少,邏輯集中清晰明了,且易於檢視和修改。

3.背後的實現原理

一般而言,我們在設定set,get的方法的時候,在對應的方法裡都是返回的void。

從某種意義上來說,**的返回值是乙個必須要執行的步驟,直接返回void是一種浪費,而我們實現鏈式呼叫的關鍵步驟和原理就是這個返回值的不同。

publicclassperson

publicperson setname(string name)

publicperson set***(string ***)

publicperson setage(intage)

}

解析:開始的那一串鏈式設定屬性的實現**,正是上面的形式。

對比而言,就是返回值的不同,乙個是void,乙個是this。

而實現連釋電用的邏輯就是:

1.對於第乙個設定屬性的方法而言,新建乙個物件的時候,正常的呼叫其方法,如果這個方法返回的是this,意味著將這個設定過屬性的物件返回

2.那麼對於第二個方法而言,是乙個設定方法返回的是已經設定過屬性的物件,而這個返回的物件也是有對應的屬性設定方法的,這樣一來,就相當於對乙個建立的物件呼叫其屬性設定方法,並且將這個物件返回

amp 呼叫鏈 鏈式呼叫方法的實現原理和方法

1.什麼是鏈式呼叫?person person new person setname fog setage 18 set man setjob software engineer 2.優勢和好處 有以上的 好處顯而易見 量大幅度減少,邏輯集中清晰明了,且易於檢視和修改。3.背後的實現原理 一般而言,...

js實現方法的鏈式呼叫

假如這裡有三個方法 person.unmerried person.process person.married 在jquery中通常的寫法是 person.unmerried process married 而在js中要實現鏈式呼叫,只需在類中的每個方法中通過this關鍵字返回物件例項的引用。fu...

方法的鏈式呼叫 MethodChaining

鏈式呼叫出現在一些類庫中,比較典型的就是jquery的鏈式api header map function get sort methodchaining這個術語最早出現於martin fowler大大的博文 通常,可以在乙個方法內通過返 用上下文進行鏈式呼叫 var obj 方法二 f2 funct...