ホームページ  >  記事  >  バックエンド開発  >  Java と PHP のオーバーロードの比較ケース

Java と PHP のオーバーロードの比較ケース

小云云
小云云オリジナル
2017-11-08 13:35:191224ブラウズ

PHP は弱く型指定された言語であり、JAVA のような強く型指定された言語のようなオーバーロードがないことはわかっています。この定義から、PHP では同じ関数名の存在が許可されないため、PHP はオーバーロードされません。

しかし、それがないからといって達成できないわけではありません。

1. まず、Java でのオーバーロードの例を見てみましょう:

class demo { public static void main (String[] args) { sum(1,1);//2 sum(1,1.5);//2.5 sum(1.5,1.5);//3.0 } public static void sum(int var1,int var2){ System.out.println(var1+var2); } public static void sum(int var1,double var2){ System.out.println(var1+var2); } public static void sum(double var1,double var2){ System.out.println(var1+var2); } }

PHP を使用して上記の例を実装するとどうなるでしょうか。

<?php function sum($var1,$var2){ echo $var1+$var2; } sum(1,1);//2 sum(1,1.5);//2.5 sum(1.5,1.5);//3 ?>

2. オプションのパラメータ、変数にデフォルト値を設定できるようにする

JAVA オーバーロードの例:

class demo  
{
    public static void main (String[] args)
    {
        sum(1,2);//3
        sum(1,2,3);//6
    }
    public static void sum(int var1,int var2){
            System.out.println(var1+var2);
    }
    public static void sum(int var1,int var2,int var3){
            System.out.println(var1+var2+var3);
    }
}

php のオプションのパラメータ機能で実装:

<?php function sum($var1,$var2,$var3=NULL){//$var3设置默认值 echo $var1+$var2+$var3; } sum(1,2);//2 sum(1,2,3);//2.5 ?>

同じ関数を確認できますが、次のような弱い型付け言語で実装されています。 php 簡単です


以上がJava と PHP のオーバーロードの比較ケースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。