你是如何给在使用的方法增加参数的?

来源:互联网 发布:如何部署apache服务 编辑:程序博客网 时间:2024/05/21 00:55

在我今天开发的时候,因为业务变动,需要给方法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);    }}

无需改变原有调用的代码。

原创粉丝点击