차이점: 1. 인터페이스의 키워드는 구현이고 추상 클래스의 경우 확장입니다. 2. 인터페이스는 멤버 변수를 선언할 수 없지만 추상 클래스는 선언할 수 있습니다. 3. 인터페이스에는 생성자가 있습니다. 4. 인터페이스 메서드는 다음과 같습니다. 5. 클래스는 동시에 여러 인터페이스를 구현할 수 있으며 하나의 추상 클래스에서만 상속할 수 있습니다.
이 튜토리얼의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터
차이:
1. 인터페이스 사용은 키워드 구현을 통해 이루어집니다. 추상 클래스의 사용은 키워드 확장을 통해 이루어집니다. 물론 인터페이스는 키워드 확장을 통해 상속될 수도 있습니다.
2. 멤버 변수(클래스 정적 변수 포함)는 인터페이스에서 선언할 수 없지만 클래스 상수는 선언할 수 있습니다. 데이터 캡슐화를 구현하기 위해 추상 클래스에서 다양한 유형의 멤버 변수를 선언할 수 있습니다. (또한 JAVA 인터페이스의 멤버 변수는 public static 최종 유형으로 선언되어야 합니다.)
<?php abstract class Father { function meth1() { echo "meth1...<br>"; } abstract function meth2(); public $var1="var1"; public static $var2="var2"; const Var3="Var3"; } class Son extends Father { function meth2() { echo "meth2 of Son...<br>"; } } $s=new Son(); echo $s->var1."<br>"; echo Father::$var2."<br>"; echo Father::Var3."<br>"; Interface IFather { //public $iVar1="iVar1"; 此处接口定义中不能包含成员变量 //public static $iVar2="iVar2"; 此处接口定义中不能包含静态变量 const iVar3="iVar3"; function iMeth1(); } Class ISon implements IFather { function iMeth1() { echo "iMeth1...<br>"; } } $is=new ISon(); echo IFather::iVar3; ?>
3. 인터페이스에는 생성자가 없지만 추상 클래스에는 생성자가 있을 수 있습니다.
4. 인터페이스의 메서드는 기본적으로 공개 유형인 반면 추상 클래스의 메서드는 비공개, 보호 또는 공개로 수정될 수 있습니다.
5. 클래스는 동시에 여러 인터페이스를 구현할 수 있지만 클래스는 하나의 추상 클래스에서만 상속할 수 있습니다.
추상 클래스 또는 인터페이스.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP 추상 클래스와 인터페이스의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!