>백엔드 개발 >PHP 튜토리얼 >PHP 오버로딩과 재작성의 차이점은 무엇입니까? 오버로딩과 다른 언어(예: Java)의 차이점은 무엇입니까?

PHP 오버로딩과 재작성의 차이점은 무엇입니까? 오버로딩과 다른 언어(예: Java)의 차이점은 무엇입니까?

WBOY
WBOY원래의
2016-08-04 09:20:43895검색

질문:
PHP 매뉴얼에서 오버로딩에 대한 내용은 다음과 같습니다. PHP에서 제공하는 "오버로딩"이란 클래스 속성과 메서드를 동적으로 "생성하는" 것을 의미합니다.
우리는 마법의 방법을 통해 이를 수행합니다.
예: __call($funcname, $arguments), __callStatic($funcname, $arguments)

JAVA 언어에서 오버로딩이란 이름은 같지만 매개변수와 정의가 다른 여러 메서드를 만들 수 있음을 의미합니다.

메서드를 호출할 때 전달된 특정 매개변수 수와 유형에 따라 사용할 메소드가 결정됩니다.

질문: PHP와 Java의 오버로딩 개념에는 확실히 차이가 있는데, 실제 차이점이 무엇인지 모르겠습니다.

답글 내용:

질문:
PHP 매뉴얼에서 오버로딩에 대한 내용은 다음과 같습니다. PHP에서 제공하는 "오버로딩"이란 클래스 속성과 메서드를 동적으로 "생성하는" 것을 의미합니다.
우리는 마법의 방법을 통해 이를 수행합니다.
예: __call($funcname, $arguments), __callStatic($funcname, $arguments)

JAVA 언어에서 오버로딩이란 이름은 같지만 매개변수와 정의가 다른 여러 메서드를 만들 수 있음을 의미합니다.

메서드를 호출할 때 전달된 특정 매개변수 수와 유형에 따라 사용할 메소드가 결정됩니다.

질문: PHP와 Java의 오버로딩 개념에는 확실히 차이가 있는데, 실제 차이점이 무엇인지 모르겠습니다.

Java는 강력한 형식입니다

<code>public class DataArtist {
    ...
    public void draw(String s) {
        ...
    }
    public void draw(int i) {
        ...
    }
    public void draw(double f) {
        ...
    }
    public void draw(int i, double f) {
        ...
    }
}</code>

소위 PHP 오버로딩은 일부 마법 메소드를 비슷하게 다시 작성한 것입니다
댓글에 좋은 말이 있습니다

이 기사에서는 이 기술을 "통역사 후크"라고 불러야 합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.