우리는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!