>  기사  >  백엔드 개발  >  PHP의 추상 클래스 및 인터페이스 사용

PHP의 추상 클래스 및 인터페이스 사용

小云云
小云云원래의
2018-03-27 15:36:591785검색

이 기사는 주로 PHP의 추상 클래스 및 인터페이스 사용법을 공유합니다. 먼저 추상 메소드의 개념을 공유하겠습니다.

1. 추상 메서드

클래스에서 메서드 본문이 없는 메서드는 추상 메서드입니다.

추상 가시성 함수 메소드 이름(매개변수 1,...); // 가시성이 명시적으로 지정되지 않은 경우 기본값은 public

입니다. 예:

public function hello($args);
abstract function work();            // 修饰符abstract,也可以省略

2 추상 클래스

수업 이름 {

                                                                                              |                         

추상 클래스는 인스턴스화할 수 없으며 상속만 가능합니다.

추상 클래스에는 반드시 추상 메서드가 있는 것은 아닙니다. 추상 메서드가 있는 클래스는 추상 클래스여야 합니다.

    추상 메서드의 가시성은 비공개일 수 없습니다.
  • 추상 메서드는 하위 클래스에 있으므로 다시 작성해야 합니다.
  • 언제 추상 클래스를 사용해야 하나요?
  • 메서드가 있는데 어떻게 메서드 본문을 작성해야 할지 모르겠습니다. 이 메서드를 서브클래스에 포함해야 한다면 추상 메서드로 캡슐화하고 클래스는 추상 클래스여야 합니다.

  • 컨트롤 서브클래스에 특정 메서드를 캡슐화해야 하는 경우 추상 메서드를 사용할 수 있습니다.

    상속만 가능하고 인스턴스화할 수 없는 클래스를 제어해야 하는 경우.
  • 예:
  • 작동하는 추상적인 방법으로 인간을 선언합니다.

    PHP 강사 클래스를 선언하고 작동하도록 메소드를 재정의하세요.

      abstract class People{
            protected $age=22;
            public $height=1.70;
            abstract function work();
        }
        class PhpTeacher extends People{
            function work(){
                echo "真不是php";
            }
        }

  • 3. Interface

    클래스의 모든 메서드가 추상 메서드이고 멤버 속성이 없는 경우 이 클래스를 인터페이스라고 합니다.
  • interface Common{
        abstract function work();
        abstract function test($args);
    }
인터페이스의 역할: PHP 클래스에는 단일 상속이 있지만 인터페이스를 통해 다중 상속이 가능합니다.

인터페이스 상속(확장):

  • 인터페이스 상속 인터페이스 인터페이스 인터페이스 이름은 상위 인터페이스 이름을 확장합니다

참고: 클래스 상속은 단일 상속이지만(부모 클래스는 하나만 있을 수 있음) 인터페이스 상속은 다중 상속이며, 클래스에서 인터페이스로 구현됩니다. 또한 다중 구현됩니다.

인터페이스 구현:

  • 클래스 구현 인터페이스 클래스 클래스 이름 구현 인터페이스 이름 1, 인터페이스 이름 2, ...

상속된 클래스가 인터페이스를 동시에 구현함:

  • 클래스가 상위 클래스를 상속함 동시에 구현 인터페이스 클래스 클래스 이름 확장 상위 클래스 이름 구현 인터페이스 이름

4. 추상 클래스와 인터페이스의 차이점

  • 인터페이스는 추상 메소드만 포함합니다. , 구성원 속성이 없습니다.

  • 클래스가 인터페이스(구현)를 구현하는 경우 클래스가 추상 클래스를 상속(확장)하는 경우 인터페이스의 모든 메서드를 완전히 구현해야 합니다. 사용됩니다.

  • 추상 클래스는 단일 상속만 가질 수 있지만 인터페이스는 다중 상속을 가지며 클래스의 인터페이스 구현에도 다중 구현이 있습니다.

관련 권장 사항:

PHP의 추상 클래스에 대한 자세한 설명

PHP 인터페이스의 추상 클래스 및 인터페이스에 대한 자세한 설명

위 내용은 PHP의 추상 클래스 및 인터페이스 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.