php-具有多个参数的一种方法还是具有一个参数的多个方法?

想象一下一个用于跟踪对手之间游戏的“游戏”类.有一种方法可以根据用户输入的参数来检索游戏,这是更好的面向对象操作吗?还是有多种针对检索目标的方法更好?

class Games {
  function get_games($game_id = NULL, $stadium_id = NULL, $start_date = NULL,   
      $end_date = NULL, $count = 999); {}
}

VS

class Games {
  function get_all_games($count = 999); {}
  function get_game_by_id($game_id = 1); {}
  function get_games_by_stadium($stadium_id = 1); {}
  function get_games_by_dates($start_date = NULL; $end_date = NULL) {}
}

好处的解释和任何编码/语法提示将不胜感激.谢谢.

解决方法:

我练习OOP的次数越多,我越会遵循有关将参数传递给方法的规则.有点像有许多嵌套的if语句嵌套,我发现如果我有两个以上的嵌套if语句,则可能做错了什么.

保持代码简单.您正在编写的是可以执行某些操作的方法,而不是可以执行所有操作的程序代码块.如果您想获得一款游戏,那么就获得一款游戏.如果要获取日期范围的列表,请执行此操作.

但是我要指出的是,您实际上并不需要get_all_games()-您可以只允许不带任何参数传递get_games_by_dates().如果什么都没有,那么它将永远获得每个日期的游戏(所有游戏)

上一篇:c# – GeckoWebBrowser访问错误的URL,始终弹出消息框


下一篇:初始化C#的geckoWebBrowser异常