PHP 추상 류 와 인터페이스의 차이 에 대한 상세 한 설명
추상 류:클래스 를 바탕 으로 그 자체 가 클래스 이 고 특수 한 클래스 일 뿐 인 스 턴 스 를 직접 할 수 없고 클래스 에서 방법,속성 을 정의 할 수 있 습 니 다.모델 과 유사 하 며 규범 화 된 후에 하위 클래스 로 하여 금 상세 한 기능 을 실현 하 게 한다.
인터페이스:주로 방법의 규범 을 바탕 으로 추상 류 의 추상 적 인 방법 과 비슷 하지만 추상 적 인 방법 에 비해 더욱 독립 적 이다.어떤 종 류 는 여러 가지 방법 을 조합 하여 새로운 종 류 를 형성 할 수 있다.
추상 클래스 와 인터페이스의 공통점:
1.모두 특정한 사물 을 설명 하고 명칭,파 라 메 터 를 규범화 시 키 며 모듈 을 형성 하 는 데 사용 되 며 상세 한 실현 세부 사항 이 없다.
2.모두 유형 을 통 해 관련 세부 업 무 를 실현 한다.
3.문법 적 으로 추상 류 의 추상 적 인 방법 은 인터페이스 와 마찬가지 로 방법론,즉(곶 기호)이 있어 서 는 안 된다.
4.모두 계승 할 수 있 고 인 터 페 이 스 는 인 터 페 이 스 를 계승 하여 새로운 인 터 페 이 스 를 형성 할 수 있 으 며 추상 류 는 추상 류 를 계승 하여 새로운 추상 류 를 형성 할 수 있다.
추상 클래스 와 인터페이스의 차이 점:
1.추상 류 는 속성,일반 방법,추상 적 인 방법 이 있 을 수 있 지만 인 터 페 이 스 는 속성,일반 방법,상수 가 있 을 수 없다.
2.추상 류 안에 반드시 추상 적 인 방법 이 있 는 것 은 아니 지만 인터페이스 안에 반드시'추상 적 인'방법 이 있 을 것 이다.
3.문법 이 다르다
4.추상 류 는 abstract 키워드 로 클래스 앞에서 설명 하고 class 성명 이 있 으 며 인 터 페 이 스 는 interface 로 설명 하지만 class 로 설명 할 수 없습니다.인 터 페 이 스 는 클래스 가 아니 기 때 문 입 니 다.
5.추상 적 인 추상 적 인 방법 은 반드시 abstract 로 설명 하고 인 터 페 이 스 는 필요 하지 않다.
6.추상 류 는 extends 키워드 로 하위 클래스 가 부 류 를 계승 한 후에 하위 클래스 에서 상세 한 추상 적 인 방법 을 실현 하 는 것 이다.인 터 페 이 스 는 implements 로 일반 클래스 가 클래스 에서 인 터 페 이 스 를 실현 하 는 상세 한 방법 이 고 인 터 페 이 스 는 여러 가지 방법 을 한꺼번에 실현 할 수 있 으 며 쉼표 로 각 인 터 페 이 스 를 나 누 면 된다.
각자 의 특징:
추상 류 안에 반드시 추상 적 인 방법 이 있 는 것 은 아니 지만 추상 적 인 방법 이 있 는 유형 은 반드시 추상 류 이다.
추상 류 에서 모두 구체 적 인 방법 이 라 하 더 라 도 예화 할 수 없다.새로운 유형 이 계승 한 후에 사례 계승 류 가 있어 야 한다.
인 터 페 이 스 는 여러 가지 다른 방법 을 한꺼번에 실현 할 수 있다.
인터페이스 자체 가 추상 적 이지 만 주 의 는 추상 적 인 유형 이 아니다.인 터 페 이 스 는 유형 이 아니 라 그 방법 이 추상 적 이기 때문이다.그래서 그것 도 추상 적 이다.
응용 과 결합:
아래 의 코드 는 자신의 사 고 를 바탕 으로 실제 개발 에서 응용 되 지 않 았 는데 이런 문법 이 좀 특이 할 뿐이다.추상 과 인 터 페 이 스 를 결합 시키다.
1.추상 류 와 인터페이스의 결합
<?php
/*
, 。
*/
interface work{
public function say();
}
abstract class a implements work{
public function showlove(){
echo 'love you<br />';
}
}
class b extends a{
public function say(){
echo 'hello, i m in b';
}
}
$k=new b();
$k->say();
/*
implements , , 。
*/
2.인터페이스 와 계승 의 결합부 류 는 일반 류 로 자 류 를 계승 한 후에 자 류 에서 인 터 페 이 스 를 실현 한다.
의문:이런 방법 이 의미 가 있 는 지,실제 개발 에서 이런 응용 이 있 는 지?
<?php
interface kk{
public function say();
}
class a {
public function show(){
echo ' <br />';
}
}
class b extends a implements kk{
public function say(){
echo ' A , say <br />';
}
}
$b=new b();
$b->show();//
$b->say();// A , say
총결산이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.