官术网_书友最值得收藏!

Method call chaining

OOP affords us the opportunity to use method call chaining. That is the process of making multiple method calls in a single statement. Here is the syntax:

object.method1().method2().method3().method4();

Using the syntax provided previously, we can walk through the process of method call chaining. The object first calls method1(), which returns the calling object. Next, that returned object calls method2(), which returns the calling object. You can see the process here. It works from left to right.

So, we can implement this in our Driver class, as shown here:

// Example using method call chaining
Bicycle myBike5 = new Bicycle(24, 418.50, 17.2, "Green");
myBike5.setColor("Peach").setGears(32).outputData("Number 5");

Before this code can work, we will need to make two changes to each method we want to use in our method call chaining:

  • Add a return type to the method definition
  • Add a return this; statement to each method

Here is an example of the setGears() method that the preceding changes listed made:

public Bicycle setGears(int nbr) {
this.gears = nbr;
return this;
}

Once these changes are made, we can run the Driver class:

Method call chaining execution results

The preceding screenshot shows the final result.

主站蜘蛛池模板: 沾化县| 桂林市| 灵石县| 尼玛县| 新平| 明光市| 长岭县| 福安市| 云梦县| 信阳市| 南雄市| 惠来县| 元阳县| 康定县| 湖南省| 八宿县| 禹城市| 荆门市| 南昌市| 崇明县| 交口县| 高青县| 沂水县| 阳城县| 花莲县| 阳春市| 上虞市| 洛南县| 若尔盖县| 布拖县| 金川县| 塘沽区| 英德市| 铜山县| 临澧县| 祁连县| 万荣县| 石狮市| 钟山县| 会宁县| 恩平市|