我們知道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中文網其他相關文章!