PHP에서 상속된 클래스와 구현된 인터페이스의 차이점: 1. PHP 상속은 단일 상속에 속하므로 통일성을 보장하지만 충분히 유연하지 않습니다. 반면 인터페이스 구현은 단일 상속을 보완합니다. 2. 인터페이스 구현은 없이도 달성할 수 있습니다. 계층적 관계 파괴를 전제로 특정 클래스의 기능을 확장한다.
이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 7.1, DELL G3 컴퓨터
1. 상속과 구현된 인터페이스의 비교:
( 1) PHP 상속은 단일 상속으로 단일성을 보장하지만 유연성이 부족합니다. 인터페이스 구현은 단일 상속을 보완하는 것입니다.
(2) 인터페이스 구현은 클래스 계층 관계를 파괴하지 않고 특정 클래스의 기능을 확장할 수 있습니다.
<?php class Monkey { public $age; public $name; public function climbing() { echo "猴子会爬树<br/>"; } } interface iBirdable { public function fly(); } interface iFishable { public function swimming(); } class LittleMonkey extends Monkey implements iBirdable,iFishable { public function fly() { echo "猴子还会飞<br/>"; } public function swimming() { echo "猴子也会游泳<br/>"; } } $littleMonkey = new LittleMonkey(); $littleMonkey -> climbing(); $littleMonkey -> fly(); $littleMonkey -> swimming(); ?>
2. 최종 키워드:
1. 보안 측면에서 클래스를 다른 클래스에 상속하지 않으려면 final을 사용하여 수정할 수 있습니다.
2. 하위 클래스에 의해 재정의되거나(이 메서드가 하위 클래스 메서드에 의해 오버로드되기를 바라지 않음) final로 수정할 수 있습니다.
<?php class A{ final public function getRate($salary){ return $salary*0.08; } } class B extends A{ //不能去覆盖父类的getRate方法. /*public function getRate($sal){ return $sal*0.01; }*/ } $b=new B(); echo $b->getRate(100)."<br/>"; ?>
3. Final은 멤버 변수(속성)를 수정할 수 없습니다.
3. const:
1. 속성을 수정하고 싶지 않은 경우 const를 사용하여 이를 상수로 만드는 것을 고려할 수 있습니다.
2. 기본 구문:
const 상수 이름 = 초기 값 지정;
초기 값을 지정하지 않으면 나중에 변조할 수 없으며 값이 없습니다.
3. 수정자는 상수에 쓸 수 없습니다. 기본적으로 공개되지만 쓸 수는 없습니다.
4. 상수 이름은 일반적으로 모두 대문자로 지정됩니다.
5. 호출 구문:
클래스 내부에서 사용:
self:: 상수 이름 또는 클래스 이름::상수 이름
클래스 외부에서 사용:
인터페이스 이름::constant;
PHP 비디오 튜토리얼위 내용은 PHP에서 클래스 상속과 인터페이스 구현의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!