gpt4 book ai didi

java - 尝试只使用一个方法名称

转载 作者:行者123 更新时间:2023-11-30 05:15:26 26 4
gpt4 key购买 nike

当我用 PHP 编写表单 validator 时,在创建新方法时,我需要增加旧方法中的参数数量。

当我学习Java时,当我读到扩展是不接触以前测试过的工作代码时,我认为我不应该增加旧方法中的参数数量,而是用新方法覆盖旧方法.

想象一下,如果您要验证表单的一个部分、另一个部分和另一个部分中的字段是否为空。

如果参数不同,您将重载 isEmpty,但是,如果参数相等,则使用 isEmpty、isEmpty2、isEmpty3、三个类和每个类一个 isEmpty 是否正确,或者,如果两者都错误,应该使用什么我已经做到了吗?

最佳答案

所以问题是:

如果我需要接收相同数字参数的方法 isEmpty 具有不同的行为,我该怎么办?

  1. 使用不同的名称? ( isEmpty, isEmpty2, isEmpty3 )
  2. 拥有三个具有单个 isEmpty 方法的类?
  3. 其他?

如果这是问题,那么我认为你应该使用:

  1. 当它们属于同一逻辑单元(它们具有相同的验证类型)但不使用数字作为版本时,最好按照它们的用途来命名它们:isEmptyUser, isEmptyAddress, isEmptyWhatever

  2. 当 validator 对象可以在一个地方计算并在程序生命周期内传递时。比方说: Validator v = Validator.getInstance( ... ); ,然后将其用作: validator.isEmpty() 并让多态性发挥作用。

  3. 或者,您可以将参数打包在一个类中并将其传递给 isEmpty 方法,尽管您最终会遇到几乎相同的名称问题。尽管如此,从那里重构并让新类为您进行验证仍然更容易。

    isEmpty( new Arguments(a,b,c ) );  => arguments.isEmpty();

关于java - 尝试只使用一个方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1568828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com