加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 5.3方法重载(如在Java中)

发布时间:2020-12-13 17:08:04 所属栏目:PHP教程 来源:网络整理
导读:在 Java中,我们有一个方法重载功能,这对单身人士非常有用.例如,我有两个不同的getInstance方法,public static,根据收到的参数表现不同: public static Currency getInstance(String currencyCode)public static Currency getInstance(Locale locale) 我们可
在 Java中,我们有一个方法重载功能,这对单身人士非常有用.例如,我有两个不同的getInstance方法,public static,根据收到的参数表现不同:

public static Currency getInstance(String currencyCode)
public static Currency getInstance(Locale locale)

我们可以用PHP做到这一点吗?

解决方法

您可以在运行时确定参数类型:

function getInstance($currency) {
   if (is_string($currency)) {
      $currency = lookupLokale($currency);
   }
   // do something with the $currency object
}

在php5.3(用于非静态方法的php5.0)中,您还可以使用php的method overloading自己实现类似Java的语义.但是,OOP重载可能会产生混乱的代码,您应该更喜欢上面的方法内解决方案.

在大多数情况下,如果您只使用两个不同的方法名称,则更清楚.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读