你是如何給在使用的方法增加參數的?

在我今天開發的時候,因爲業務變動,需要給方法A增加一個參數,方法A在很多地方被使用,如何做纔會改動最小。

有些人可能會說,重新寫個方法;有的人說,直接在原來的方法A中增加一個參數。

例如:一個總價計算方法getTotal,該方法有兩個參數,數量和單價:

public class CalcUtils {

    public static int getTotal(int num,int price){
        return num*price;
    }
}

但是突然由於業務變動,需要增加一個打折率作爲參數。


聯想到最近在看的spring源碼中有大量重載的方法,突然想到了解決方法。同時也爲我解了另外一個疑惑,爲什麼spring源碼中有這麼多重載的方法,例如:

這裏寫圖片描述

例如上圖中的getBean和doGetBean方法。爲什麼會有這麼多重載的方法?


我們可以使用方法重載的方式,解決該問題!

增加一個重載的getTotal方法,將原來的CalcUtils類改爲:

public class CalcUtils {

    public static int getTotal(int num,int price){
        return CalcUtils.getTotal(num, price, 0);
    }

    public static int getTotal(int num,int price,int discount){
        return price*num*(1-discount);
    }
}

無需改變原有調用的代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章