java - 方法重载澄清或以不同的方式使用它

标签 java polymorphism overloading

我有一个方法,应该在同一过程的最后,但可以得到不同的参数 因为需要以不同的方式完成该过程

我的问题是,假设这是 API,这是最好的方法

void action(String a,String b){
    functionA();
    functionB();
    functionC();
}




void action(String a){
    functionA();
    functionC();
}


void action(String a,String B,String C){
    functionA();
    functionC();
    functionD();
}

我问这个的原因是你可以看到我总是使用functionA和functionC? 在java中有更优雅的方法吗?

最佳答案

您可以在重载函数之间共享代码,重载函数在它们之间共享代码是非常合乎逻辑的。

//this delegates what happens to 'a' to the lower link, passing the responsibility to it along the 'chain'
void action(String a,String b){
    action(a);
    functionB();
}
//this delegates what happens to 'a' to the lower link, passing the responsibility to it along the 'chain'
void action(String a,String B,String C){
    action(a);
    functionD();
}
//this is the lowest link in your chain of responsibility, it handles the one parameter case
void action(String a){
    functionA();
    functionC();
} 

关于java - 方法重载澄清或以不同的方式使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14796723/

相关文章:

java - 如何复制二维字符串数组?

java - 如何使用接口(interface)正确实现多态性?

c++ - 在函数映射容器 : automatic deduction fails with compiler error 中重载 C++ 函数返回类型

来自匿名内部类内部的Java返回方法

java - 如何在 jQuery 中从客户端向服务器发送 XML 文档

java - 如何在 mac 上从 java 读取和写入原始 ip 数据包?

c# - 通过强制转换或鸭式输入不同的对象类型来重用相同的功能

java - 测试两个 Java 对象是否可以相互比较

java - 在java中重写具有更多参数的方法?

c++ - 如何为一组对象重载运算符