PHP 및 JAVA의 오버로드 및 재정의 소개
오버로딩: 같은 클래스 내에서 이름은 같지만 반환값이나 매개변수 유형이 다른 함수를 오버로딩이라고 합니다.
재정의: 동일한 이름, 동일한 반환 값 유형 및 동일한 매개변수를 가진 함수를 재정의라고 합니다. 하위 클래스가 상위 클래스의 메서드를 재정의하는 것을 말합니다.
PHP는 메서드 및 연산자 오버로드를 지원하지 않습니다. JAVA는 연산자 오버로딩을 지원하지 않습니다(그러나 " "는 실제로 연산자 오버로딩입니다).
코드 복사 코드는 다음과 같습니다.
Class Father {
공개 함수 fmeth1() {
echo "fmeth1()...
"
}
//public function fmeth1($str1) {
// echo "fmeth1() with $ str1.. .
";
//}
}
Class Son은 Father {
public function fmeth1() {
echo "fmeth1() in son...
}
}
$s=new Son();
$s->fmeth1();
?>
여기서 상위 클래스의 fmeth1 메소드는 오버로드될 수 없습니다.
Java의 오버로딩 및 오버라이드 예시 설명
Java 언어 사양에서 메소드의 특성에는 메소드 이름, 매개변수의 수 및 유형만 포함되며 메소드의 반환은 포함되지 않습니다. . 유형, 매개변수 이름 및 예외가 발생했습니다. Java 컴파일러는 메소드의 오버로드를 확인할 때 이러한 조건에 따라 두 메소드가 오버로드된 메소드인지 여부를 판별합니다. 그러나 Java 컴파일러가 메소드 대체를 확인할 때 두 메소드(수퍼 유형 및 하위 유형)에서 발생한 반환 유형과 예외가 동일한지 추가로 확인합니다.
질문 번호: 3
코드 복사 코드는 다음과 같습니다.
class A {
protected int method1(int a, int b) { return 0; }
}
클래스 A를 확장하는 클래스에서 유효한 두 가지는 무엇입니까? (2개 선택)
A. (int a, int b) { return 0; }
B. private int method1(int a, int b) { return 0 }
C. private int method1(int a, long b) { return 0 ; }
D. public short method1(int a, int b) { return 0 }
E. static protected int method1(int a, int b) }
310번 질문 035, 표준 답변은 A, C입니다.
A는 재정의되고 액세스는 protected--->public에서 확장되었으므로 정답입니다.
B와 D도 재정의입니다. B는 protected--->private에서 범위가 좁아지고 D의 반환 유형이 변경되었으므로 모두 잘못되었습니다.
C는 오버로드입니다. 액세스의 너비와 반환 유형은 중요하지 않으므로 정확합니다.
E는 재정의되지만 정적 메서드는 슈퍼 클래스에서 인스턴스 메서드를 숨길 수 없기 때문에 정적이 추가됩니다. 따라서 잘못된 것입니다.
그러니 AC를 선택하세요.
상위 클래스를 상속하고 해당 메서드를 덮어쓰는 하위 클래스를 재정의 - 다시 쓰기, 덮어쓰기, 재정의라고 합니다.
이름은 같지만 매개 변수가 다른 여러 메서드 이름이 있는 하위 클래스를 오버로드 - 무거운(zhong) 로드라고 합니다. 오버로딩
오버로딩은
여러 메소드가 이름은 같지만 매개변수가 다른 경우에 생성됩니다.
그런 다음 서로 다른 매개변수를 호출하고 실제로 서로 다른 메소드를 호출하는 것은
실제로도 다음과 같이 이해될 수 있습니다. 이름은 다르지만
덮어쓰기(OVERWRITE) 참고
원래 메서드의 "가시성"을 줄일 수 없습니다.
다른 반환 유형은 메서드 재정의를 구성할 수 없습니다.
오버로드(OVERLOAD) 참고
다른 매개변수는 과부하를 구성할 수 있습니다.
위 내용은 Allowoverride 내용을 포함하여 PHP 및 JAVA의 Allowoverride 오버라이드 및 재정의에 대한 소개입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Alipay PHP ...

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.
