Heim  >  Artikel  >  Backend-Entwicklung  >  Vergleichsfall von Java- und PHP-Überladung

Vergleichsfall von Java- und PHP-Überladung

小云云
小云云Original
2017-11-08 13:35:191224Durchsuche

Wir wissen, dass PHP eine schwach typisierte Sprache ist und keine Überladung aufweist wie stark typisierte Sprachen wie JAVA. Nach dieser Definition ist PHP nicht überlastet, da PHP nicht zulässt, dass derselbe Funktionsname existiert.

Aber es nicht zu haben bedeutet nicht, dass es nicht erreicht werden kann.

1. Schauen wir uns zunächst ein Überladungsbeispiel in Java an:

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); } }

Was wäre, wenn wir PHP verwenden würden, um das obige Beispiel zu implementieren?

<?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. Optionale Parameter, die es Variablen ermöglichen, Standardwerte festzulegen

Beispiel für eine JAVA-Überladung:

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);
    }
}

Verwendung der optionalen PHP-Parameterfunktion:

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

Sie können die gleiche Funktionalität sehen, aber sie ist einfacher in einer schwach typisierten Sprache wie PHP zu implementieren


Das obige ist der detaillierte Inhalt vonVergleichsfall von Java- und PHP-Überladung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn