>백엔드 개발 >PHP 문제 >PHP에서 정적 메소드를 상속하는 방법

PHP에서 정적 메소드를 상속하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-10-06 11:46:132617검색

PHP의 정적 메서드 상속 방법: 상속하려면 재정의 함수를 사용하세요. 코드는 [function write(){echo 'I can be overrided!';}정적 함수 no_write()]입니다.

PHP에서 정적 메소드를 상속하는 방법

PHP에서 정적 메소드를 상속받는 방법:

하위 클래스가 정적 함수를 재정의할 수 있는지 궁금해서 테스트 코드를 작성했습니다.

<?php
Class A
{
var $a=&#39;I/&#39;m A&#39;;
function write()
{
echo &#39;I can be overriden!<br />&#39;;
}
static function no_write()
{
echo &#39;Can I be overriden?<br />&#39;;
}
 
}
 
Class B extends A
{
function write()
{
echo &#39;Override from A successfully!<br />&#39;;
}
static function no_write()
{
echo &#39;Can I override successful?<br />&#39;;
}
}
$a=new A;
$a->write();
$a->no_write();
 
$b=new B;
echo $b->a.&#39;<br />&#39;;  //Attributes can be inherited
$b->write();
$b->no_write();       //static methods can be overriden
?>

실행 결과는 다음과 같습니다.

I can be overriden!
Can I be overriden?
I&#39;m A
Override from A successfully!
Can I override successful?

그래서 정적 함수는 하위 클래스에서 재정의될 수 있지만 Java에서는 명확하지 않습니다. 테스트할 코드를 더 작성할 준비를 하세요. a

관련 무료 학습 권장 사항: php 프로그래밍(동영상)

위 내용은 PHP에서 정적 메소드를 상속하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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