1.php InterfaceClass:interface
사실 그들의 역할은 매우 간단합니다. 많은 사람들이 함께 프로젝트를 개발할 때, 그들은 모두 다른 사람들이 작성한 클래스를 호출할 수 있습니다. ? 특정 함수의 구현 메소드 이름은 어떻게 지정됩니까? 이때 PHP 인터페이스 클래스가 작동합니다. 인터페이스 클래스를 정의할 때 해당 메소드는 다음과 같은 하위 클래스에 의해 구현되어야 합니다. 코드는 다음과 같습니다.
interface Shop { public function buy($gid); public function sell($gid); public function view($gid); }
shop 인터페이스 클래스를 선언하고 구매, 판매, 보기의 세 가지 메소드를 정의한 다음 이 클래스의 모든 하위 클래스를
inherit 구현해야 합니다. 이 세 가지 메소드 중 어느 것도 작동하지 않습니다. 이를 구현하지 않으면 작동하지 않습니다. 사실 인터페이스 클래스는 직설적으로 말하면 클래스의 템플릿이자 클래스의 규정이다. 이 범주에 속하면 어떻게 하든 내 규정을 따라야 한다.
코드는 다음과 같습니다.
class BaseShop implements Shop { public function buy($gid) { echo('你购买了ID为 :'.$gid.'的商品'); } public function sell($gid) { echo('你卖了ID为 :'.$gid.'的商品'); } public function view($gid) { echo('你查看了ID为 :'.$gid.'的商品'); } }
결론: 인터페이스 클래스는 클래스의 리더로서 방향을 지시하며 서브클래스는 지정된 메소드를 완료해야 합니다.
2.phpAbstract class
: abstract
사실 추상 클래스와 인터페이스 클래스는 부분적으로 비슷한 문장을 본 기억이 있는데, 추상 클래스는 비슷한 부분을 추출한 것 같은데, 사실은 그렇습니다. 추상 클래스의 역할은 많은 클래스가 지속적으로 반복적으로 작성하는 많은 메서드를 사용하는 경우 "다시 작성할 수 없습니다."라고 말할 수 있다는 것입니다. 각 공용 클래스에 대해 이 공용 클래스를 인스턴스화하고 동일한 메서드를 호출합니다." 이는 가능합니다. 실제로 이것이 추상 클래스가 수행하는 작업이지만 인스턴스화할 필요성이 줄어듭니다. 이 단계를 사용하면 호출하는 것만큼 편리합니다. 이 클래스 메소드를 직접 사용할 수 있으며, 이 메소드를 overload할 수도 있습니다. 예:
코드는 다음과 같습니다.
abstract class BaseShop { public function buy($gid) { echo('你购买了ID为 :'.$gid.'的商品'); } public function sell($gid) { echo('你卖了ID为 :'.$gid.'的商品'); } public function view($gid) { echo('你查看了ID为 :'.$gid.'的商品'); } } class BallShop extends BaseShop { var $itme_id = null; public function construct() { $this->itme_id = 2314; } public function open() { $this->sell($this->itme_id); } }
결론: 추상 클래스는 서비스 제공자가 많은 클래스입니다. 서비스를 제공하지 않아도 필요할 때 사용할 수 있습니다.
위 내용은 PHP 인터페이스 클래스와 추상 클래스의 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!