PHP 추상과 인터페이스의 차이점에 대한 자세한 설명

怪我咯
풀어 주다: 2023-03-12 18:28:02
원래의
1310명이 탐색했습니다.

이 글은 PHP에서 추상과 인터페이스의 차이점을 자세히 분석하고 소개한 글입니다. 필요한 친구들이 와서 참고하면 좋겠습니다.

1.php 인터페이스클래스: 인터페이스

사실 그 기능은 매우 간단합니다. 많은 사람들이 함께 프로젝트를 개발할 때 다른 사람이 작성한 일부 클래스를 모두 호출할 수 있습니다. 그러면 특정 기능의 구현 방법 이름을 어떻게 알 수 있습니까? 그런 다음 PHP 인터페이스 클래스가 작동합니다. 인터페이스 클래스를 정의할 때 그 안의 메소드는 다음 하위 클래스에 의해 구현되어야 합니다. 예:

코드는 다음과 같습니다. 구매, 판매 및 보기의 세 가지 메소드가 정의됩니다. 그런 다음 이 클래스의 모든 하위 클래스는 이 세 가지 메소드 중 하나를 구현해야 합니다. 사실 인터페이스 클래스는 직설적으로 말하면 클래스의 템플릿이자 클래스의 규정이다. 이 범주에 속하면 어떻게 하든 내 규정을 따라야 한다.

코드는 다음과 같습니다.

 interface Shop
 {
       public function buy($gid);
       public function sell($gid);
       public function view($gid);
 }
로그인 후 복사

생각해 보세요. 많은 사람들이 함께 작업하는 대규모 프로젝트에서는 인터페이스 클래스가 있으면 매우 편리합니다. 특정 기능에 대해 다른 사람에게 물어볼 필요가 없다는 것입니다. 메소드 이름이 무엇입니까? 물론 이것이 마음에 들면 어쩔 수 없습니다.

결론: 인터페이스 클래스는 클래스의 리더로서 방향을 지시하며 하위 클래스는 지정된 메소드를 완료해야 합니다.

2.php Abstract class

: abstract

사실 추상 클래스와 인터페이스 클래스는 부분적으로 비슷한 문장을 본 기억이 있는데, 추상 클래스는 비슷한 부분을 추출한 것 같네요. 사실, 이는 추상 클래스에 대한 진실을 알려줍니다. 추상 클래스의 기능은 많은 클래스가 계속해서 반복적으로 작성하는 많은 메서드를 사용한다는 것을 알게 되면 "할 수 있습니다. 클래스를 다시 작성하고 각 공용 클래스를 인스턴스화하고 동일한 메소드를 호출하지 마십시오." 이것은 가능합니다. 실제로 이것이 추상 클래스가 하는 일이지만 그들은 그것을 생략합니다. 인스턴스화 단계가 없으면 메소드를 호출하는 것만큼 편리합니다. 이 클래스를 직접 사용할 수도 있고 이 메서드를 overload할 수도 있습니다. 예를 들면 다음과 같습니다.

코드는 다음과 같습니다.

예는 위와 같습니다. 구매, 판매, 보기, 추상화와 같은 모든 부분을 추출했습니다. 클래스를 상속한 하위 클래스는 자동으로 이러한 메서드를 획득하고 하위 클래스는 고유한 작업을 수행하고 코드 중복을 도입하며 재사용성을 향상시킵니다.

결론:

추상 클래스는 서비스를 제공하는 서비스입니다. 서비스가 제공되지 않아 불만이 있을 때 사용할 필요는 없습니다. , 직접 제공할 수도 있습니다. 와서 해 보세요. 추상 함수 메소드는 인터페이스와 다소 유사하며 상위 클래스에서 구현되어야 합니다. 그러나 abstract로 선언되지 않은 메소드는 하위 클래스의 공개 메소드가 되므로 구현할 필요가 없습니다. 하위클래스에 있어요

위 내용은 PHP 추상과 인터페이스의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!